如何计算两个向量之间具有相同位置的匹配数?

时间:2017-03-17 01:54:58

标签: r

我正在尝试计算两个向量之间的匹配数:c(1,2,1)c(2,2,2),目标是返回1。只有第二个位置在两个向量之间匹配。我提出的每个解决方案都有一个循环。有人可以建议一个R函数来做这个,而不是循环吗?

1 个答案:

答案 0 :(得分:3)

由于您具有相等的长度向量,因此可以使用==来确定匹配项。

c(1, 2, 1) == c(2, 2, 2)
# [1] FALSE  TRUE FALSE

现在,由于TRUEFALSE的数字表示分别为1和0,因此结果的总和将给出匹配数。

sum(c(1, 2, 1) == c(2, 2, 2))
# [1] 1