我想比较两个向量,但它不起作用,请告诉我如何比较两个向量:
x <- c(1,2,3,4)
y <- c(5,6,7,8)
if (x==y) print("same") else print("different")
答案 0 :(得分: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
答案 1 :(得分:0)
对于数组比较,all
和any
是您的朋友。如果你真的不是指几何向量而是值数组,那么sort
也是必要的:
> all(sort(x)==sort(y))
答案 2 :(得分:0)
尝试:
x <- c(1,2,3,4)
y <- c(5,6,7,8)
if(identical(x,y)) print("identical") else print("not identical")