On Tue, 16 May 2006, Peter Ehlers wrote: > How is this a bug? From the help page for cbind/rbind: > > Description > Take a sequence of vector, matrix or data frames arguments and > combine by _columns_ or _rows_, respectively. > (emphasis added) > > Note that it does _not_ say "combine by variable names".
That was my first reaction, but in fact it does attempt to match up the colunn names. So this is a bug in an undocumented extension, the bug being that when it looks into extending the levels of a factor, it checks if the column number was a factor in the first data frame and not in the (possibly permuted) columns of the data frame under consideration. It is unclear from the S documentation what it is supposed to do, but it seems that it generates the same problematic output. > > Peter Ehlers > > [EMAIL PROTECTED] wrote: > >> Full_Name: Rafal Kustra >> Version: 2.1.1 Please don't report on obselete versions of R: we do ask so quite explicitly. >> OS: Linux, MacOS 10.3 >> Submission from: (NULL) (69.195.47.62) >> >> >> When Rbinding two data frames with factors, strange result occur (but no >> error) >> when the order of data frame variables is different in two data frames: >> >> >>> d1=as.data.frame(list(x=1:10,y=letters[1:10])) >>> d2=as.data.frame(list(y=LETTERS[1:5],x=7:11)) >>> d2 >> >> y x >> 1 A 7 >> 2 B 8 >> 3 C 9 >> 4 D 10 >> 5 E 11 >> >>> rbind(d1,d2) >> >> x y >> 1 1 a >> 2 2 b >> 3 3 c >> 4 4 d >> 5 5 e >> 6 6 f >> 7 7 g >> 8 8 h >> 9 9 i >> 10 10 j >> 11 7 <NA> >> 21 8 <NA> >> 31 9 <NA> >> 41 10 <NA> >> 51 11 <NA> >> Warning message: >> invalid factor level, NAs generated in: "[<-.factor"(`*tmp*`, ri, value = >> c("A", >> "B", "C", "D", "E")) >> >> >> Things work correctly when the order of variables is the same: >> >> >>> d3=as.data.frame(list(x=7:11,y=LETTERS[1:5])) >>> rbind(d1,d3) >> >> x y >> 1 1 a >> 2 2 b >> 3 3 c >> 4 4 d >> 5 5 e >> 6 6 f >> 7 7 g >> 8 8 h >> 9 9 i >> 10 10 j >> 11 7 A >> 21 8 B >> 31 9 C >> 41 10 D >> 51 11 E >> >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > -- Brian D. Ripley, [EMAIL PROTECTED] 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 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel