... and further > identical(as.list(df2),as.list(df1)) [1] TRUE
in R 2.15.0 Not sure whether these sorts of degenerate cases are of much value, though. But I'll leave that for the wizards. -- Bert On Wed, Oct 10, 2012 at 11:22 PM, Hervé Pagès <hpa...@fhcrc.org> wrote: > Hi, > > Two ways to create what should normally be the same data frame: > > > df1 <- data.frame(a=character(0), b=character(0))> df1 > [1] a b > <0 rows> (or 0-length row.names) > > > df2 <- as.data.frame(matrix(character(0), ncol=2, dimnames=list(NULL, > letters[1:2]))) > > df2 > [1] a b > <0 rows> (or 0-length row.names) > > unique() works as expected except that I get a warning on 'df2': > > > unique(df1) > [1] a b > <0 rows> (or 0-length row.names) > > > unique(df2) > [1] a b > <0 rows> (or 0-length row.names) > Warning message: > In is.na(rows) : is.na() applied to non-(list or vector) of type 'NULL' > > Look like the two data frames are not identical: > > > identical(df1, df2) > [1] FALSE > > > all.equal(df1, df2) > [1] "Attributes: < Length mismatch: comparison on first 1 components >" > > > attributes(df1) > $names > [1] "a" "b" > > $row.names > integer(0) > > $class > [1] "data.frame" > > > attributes(df2) > $names > [1] "a" "b" > > $class > [1] "data.frame" > > Actually 'df2' is considered broken by validObject(): > > > validObject(df1) > [1] TRUE > > > validObject(df2) > Error in validObject(df2) : > invalid class “data.frame” object: slots in class definition but not in > object: "row.names" > > This is with R 2.15 and recent R devel. > > Cheers, > H. > > -- > Hervé Pagès > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpa...@fhcrc.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel