我想比較兩個向量,但它不能正常工作,請你告訴我兩個向量如何進行比較:如何比較兩個向量中的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