捕获R中两个数据帧之间的匹配和非匹配值

时间:2014-02-17 09:11:55

标签: r compare set-difference

我已经对此做了很多阅读,但我还没有得到一个有效的答案。

我一直在使用R中的setdiff函数来查看两个数据帧之间的匹配数。我知道我有200个观察中的71个匹配,其余的不匹配。

到目前为止,我刚刚完成此操作以获取匹配和不匹配值的数量:

check = setdiff(dataset1$variable1, dataset2$variable1)

如何返回匹配和不匹配值的列表?

谢谢,

1 个答案:

答案 0 :(得分:4)

通过Set Operations中的intersect函数找到所有匹配值。使用union函数找到两个变量中的所有值。因此,并集中但不在交叉中的值是不匹配的。

var1 <- LETTERS[1:5]
var2 <- LETTERS[4:8]
matched <- intersect(var1, var2)
all <-  union(var1, var2)
non.matched <- all[!all %in% matched]