我想比较两个向量,但它不能正常工作,请你告诉我两个向量如何进行比较:如何比较两个向量中的R
x <- c(1,2,3,4)
y <- c(5,6,7,8)
if (x==y) print("same") else print("different")
我想比较两个向量,但它不能正常工作,请你告诉我两个向量如何进行比较:如何比较两个向量中的R
x <- c(1,2,3,4)
y <- c(5,6,7,8)
if (x==y) print("same") else print("different")
使用all
能在这里工作。
> all(x==y)
[1] FALSE
> y1=c(5,6,7,8)
> all(y==y1)
[1] TRUE
编辑 最好是用isTRUE(all.equal(x,y))
避免回收
回收
> x=c(5,6,5,6)
> y=c(5,6)
> all(x==y)
[1] TRUE
更好的办法
> isTRUE(all.equal(x,y))
[1] FALSE
> isTRUE(all.equal(y,y1))
[1] TRUE
> x=c(5,6,5,6)
> y=c(5,6)
>isTRUE(all.equal(x,y))
[1] FALSE
当谈到阵列相比,all
和any
是你的朋友。如果你真的不意味着几何矢量但值的阵列,sort
也应该是必要的:
> all(sort(x)==sort(y))
尝试:??
x <- c(1,2,3,4)
y <- c(5,6,7,8)
if(identical(x,y)) print("identical") else print("not identical")
看'all.equal'或'identical' – shadow 2014-09-25 07:35:17