R语言向量_测试向量相等

10 测试向量相等

> x<-1:3

> y<-c(1,3,4)

> x==y

[1]  TRUE FALSE FALSE

> "=="(3,2)

[1] FALSE

> i<-2

> "=="(3,2)

[1] FALSE

> i<-2

> "=="(i,2)

[1] TRUE

传统的方法是用==”,但是只能判断向量中的每一个元素是否相等,并不能准确的告诉用户两个向量是否相等,笔者认为用all比较好,或者用identical,如下

> x<-1:3

> y<-c(1,3,4)

> x==y

[1]  TRUE FALSE FALSE

> all(x==y)

[1] FALSE

> identical(x,y)

[1] FALSE

但是用identical有很多限制,它判断的是两个对象是否完全一样,如果同一个向量用不同的形式表达,那么它会判断说不一样,如下:

> x<-1:2

> y<-c(1,2)

> x

[1] 1 2

> y

[1] 1 2

> identical(x,y)

[1] FALSE

为什么会这样,我们看一下原因就知道了

> typeof(x)

[1] "integer"

> typeof(y)

[1] "double"

x里面的类型是整型的,而y里面的类型是双精度浮点型的,怎么可能一样???

你可能感兴趣的:(R语言)