计算两个向量中相同位置的相同元素的数量

时间:2014-09-11 10:35:17

标签: r

我有两个向量:

set.seed(12)

a<-sample(c(0,1),10,replace=T)

b<-sample(c(0,1),10,replace=T)

> a
 [1] 0 1 1 0 0 0 0 1 0 0
> b
 [1] 0 1 0 0 0 0 0 1 1 0

我想计算两个向量中匹配的元素数量。

所以在上面的例子中:

以下元素匹配:1,2,4,5,6,7,8,10。

我无法用set运算符执行此操作,因为我对常用元素不感兴趣,但也对它们的位置不感兴趣。

1 个答案:

答案 0 :(得分:5)

尝试使用which==

which(a==b)
#[1]  1  2  4  5  6  7  8 10

使用@David Arenburg的例子

 set.seed(12)
 a <- sample(c(0,1),10,replace=TRUE)
 b <- sample(c(0,1),10,replace=TRUE)
 c <- sample(c(0,1),10,replace=TRUE) # added

 which(rowSums(cbind(a,b,c)==a)==3)
#[1] 1 2 5 6