[R] identical() mystery

Duncan Murdoch murdoch at stats.uwo.ca
Mon Mar 1 12:26:29 CET 2010


Dario Strbenac wrote:
> Hello,
>
> I have 2 vectors of the same mode and the same contents but I still get FALSE. Any ideas ?
>
>   
>> reference <- c(11, 14, 16, 5, 4, 2,  0, 15, 9, 0)
>> reference
>>     
>  [1] 11 14 16  5  4  2  0 15  9  0
>   
>> cpgDensity
>>     
>  [1] 11 14 16  5  4  2  0 15  9  0
>   
>> identical(cpgDensity, reference)
>>     
> [1] FALSE
>   
>> mode(cpgDensity)
>>     
> [1] "numeric"
>   
>> mode(reference)
>>     
> [1] "numeric"
>   

The typeof() function is more informative than mode().  str() might also 
give some information, e.g. if one of those objects has a class:

 > x <- 1:10
 > y <- noquote(x)
 > y
 [1]  1  2  3  4  5  6  7  8  9 10
 > x
 [1]  1  2  3  4  5  6  7  8  9 10
 > typeof(x)
[1] "integer"
 > typeof(x)
[1] "integer"
 > identical(x,y)
[1] FALSE
 > str(x)
 int [1:10] 1 2 3 4 5 6 7 8 9 10
 > str(y)
Class 'noquote'  int [1:10] 1 2 3 4 5 6 7 8 9 10

Duncan Murdoch



More information about the R-help mailing list