我有两个向量:

vec1 <- c(1,0,1,1,1)
vec2 <- c(1,1,0,1,1)

向量在位置 1、4 和 5 处具有相同的元素。

考虑到位置,如何返回在 2 个向量中重叠的元素数?所以,在这里我想返回数字 3。

最佳答案

测试相等性,然后 sum ,您可能想要排除 NA s:

sum(vec1==vec2, na.rm=TRUE)

编辑
通过添加如下排除项来排除 0==0 匹配项:
sum(vec1==vec2 & vec1!=0, na.rm=TRUE)

感谢@CarlWitthoft

或者,如果您只有 1 和 0,则:
sum((vec1+vec2)==2, na.rm=TRUE)

关于r - 重叠元素的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27380162/

10-12 21:55