On Mon, Aug 16, 2010 at 5:47 PM, array chip <arrayprof...@yahoo.com> wrote: > Hi, I am really puzzled by this. hope someone can help me > > I have a 2 small data frames "a" and "b" derived from a larger data frames. > They > look exactly the same to me, but identical() always returns FALSE. > >> a > a b > 2 10011048 L > 4 10011048 R > 6 10011049 L > 8 10011049 R >> b > a b > 1 10011048 L > 3 10011048 R > 5 10011049 L > 7 10011049 R > >> identical(a,b) > [1] FALSE > > some information about the attributes of the 2 data frames: > >> class(a) > [1] "data.frame" >> class(b) > [1] "data.frame" >> class(a$a) > [1] "integer" >> class(a$b) > [1] "character" >> class(b$a) > [1] "integer" >> class(b$b) > [1] "character" > > > However, if I generate these 2 data frame from scratches, identical() would > returns TRUE > >>x<-as.data.frame(cbind(a=c(10011048,10011048,10011049,10011049),b=c('L','R','L','R'))) >>) >>y<-as.data.frame(cbind(a=c(10011048,10011048,10011049,10011049),b=c('L','R','L','R'))) >>) > >> identical(x,y) > [1] TRUE > > Looks like a & b objects takes some invisible residual information from the > larger data frame where they were derived, which is not the same between them. > But what is it? >
Try dput(a) and dput(b) and carefully compare the two outputs. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.