我已经对此进行了相当多的阅读,但我还没有能够得到有效的答案。
我一直在使用 R 中的 setdiff
函数来查看两个数据帧之间的匹配数。我知道 200 个观察结果中有 71 个匹配,其余的不匹配。
到目前为止,我只是这样做来获取匹配和不匹配值的数量:
check = setdiff(dataset1$variable1, dataset2$variable1)
如何返回匹配值和不匹配值的列表?
谢谢
艾德
所有匹配的值都可以通过 intersect
函数从集合操作中找到。两个变量中的所有值都可以使用 union
函数找到。因此,在并集中但不在交集中的值是不匹配的。
var1 <- LETTERS[1:5]
var2 <- LETTERS[4:8]
matched <- intersect(var1, var2)
all <- union(var1, var2)
non.matched <- all[!all %in% matched]