我有两个向量:
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运算符执行此操作,因为我对常用元素不感兴趣,但也对它们的位置不感兴趣。
答案 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