2014-09-25 80 views
-2

我想比較兩個向量,但它不能正常工作,請你告訴我兩個向量如何進行比較:如何比較兩個向量中的R

x <- c(1,2,3,4) 
y <- c(5,6,7,8) 
if (x==y) print("same") else print("different") 
+1

看'all.equal'或'identical' – shadow 2014-09-25 07:35:17

回答

2

使用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 
0

當談到陣列相比,allany是你的朋友。如果你真的不意味着幾何矢量但值的陣列,sort也應該是必要的:

> all(sort(x)==sort(y)) 
0

嘗試:??

x <- c(1,2,3,4) 
y <- c(5,6,7,8) 
if(identical(x,y)) print("identical") else print("not identical")