On 5/16/06, Prof Brian Ripley <[EMAIL PROTECTED]> wrote: > > 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.
I must say reporting a bug to R-devel is not for the faint of heart -:) Thanks for all you work! rafal >> 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 > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel