[R] identical()

array chip arrayprofile at yahoo.com
Mon Aug 16 23:47:38 CEST 2010


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?

Thanks

John



More information about the R-help mailing list