【发布时间】:2014-12-14 14:50:45
【问题描述】:
我可以很容易地比较 R 中的 2 个向量,看看有多少元素是相同的。 说
a<- c(1,2,3,4)
b<- c(1,2,3,5)
sum(a==b) would give me what I want
但是如何比较 3 个向量?或同时超过 3 个向量?
a<- c(1,2,3,4)
b<- c(1,2,3,5)
c<- c(2,3,4,5)
sum(a==b & b==c) # does not seem to be correct
我正在寻找相同位置的元素是否相同。在同样的情况下,它会给我零,因为 a、b、c 在同一位置并不完全相同。
count = 0
for(i in 1:length(a)){
if((a[i]==b[i]) & (a[i]==c[i]))
count=count+1
} # this will give me that I want, but the efficiency seems very low
【问题讨论】:
-
您是否在寻找相同位置的元素是否相同?在这种情况下,比较 a、b、c 应该得到 0。例如
a <- c(1,2,4,5); b <- c(2,1,3,0) ; sum(a==b)#[1] 0 -
@akrun,感谢您指出这一点,这就是我的意思。
标签: r vector logical-operators