v.moreno at ico.scs.es
2007-Apr-05 23:55 UTC
[Rd] data.frame backwards compatibility (PR#9601)
Full_Name: Victor Moreno Version: R2.5.0 OS: windows Submission from: (NULL) (68.40.63.169) This may not be a bug, but seems not yet documented. Some data.frames created with development version 2.5.0, when read in 2.4.1, show error: Error in dim.data.frame(chip23) : negative length vectors are not allowed A dump of the data.frame shows as last code: , row.names = as.integer(c(NA, -7269)), class = "data.frame") This seems related to the new feature of data.frames without rownames.
ripley at stats.ox.ac.uk
2007-Apr-12 06:14 UTC
[Rd] data.frame backwards compatibility (PR#9601)
What you are reporting as missing would be *forwards* compatibility, and of an unstated representation (dump? save?) of objects of class "data.frame", not the object data.frame() itself. The correct terminology is 'a data frame', not 'the data.frame' (which means something different). No one has ever said that objects dumped/saved in future versions of R would be valid when restored in a current version. How for example do you expect a data frame containing a raw vector to be read in a version of R from before the raw type was added? You will find many instances of lack of forwards compatibility: it is essential to progress. On Fri, 6 Apr 2007, v.moreno at ico.scs.es wrote:> Full_Name: Victor Moreno > Version: R2.5.0That is a future version of R, so no one knows how it will behave.> OS: windows > Submission from: (NULL) (68.40.63.169) > > > This may not be a bug, but seems not yet documented.1) You are asked in the FAQ not to use this address for things you are not 'sure' are bugs. 2) This change is documented under USER-VISIBLE CHANGES, clearly highlighting it.> Some data.frames created with development version 2.5.0, when read in > 2.4.1, show error:What does 'read in' mean? load()? source() from a dump()?> Error in dim.data.frame(chip23) : negative length vectors are not allowedThe code you used is not here, so we have no idea what you did to get that error. The FAQ and the posting guide do ask for reproducible code.> A dump of the data.frame shows as last code: > > , row.names = as.integer(c(NA, -7269)), class = "data.frame") > > This seems related to the new feature of data.frames without rownames.Data frames always have row names (sic), by definition, and that dump output does show row names. What is new is that they are allowed to be integers. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595