我遇到一个非常简单的问题,我不知道如何解决它。这是交易。我有两个一列数据帧
a <- data.frame(C=c("c1","c2","c3","c4","c5","c6","c7","c8"))
b <- data.frame(C=c("c1","c4","c5","c8"))
我想获得一个列数据框,其中的条目不会出现在b中,但它们位于a中。即。带有“c2”,“c3”,“c6”,“c7”的数据帧。 我试过了
c <- setdiff(a,b)
但是我得到了一个数据帧,还有
c <- merge(a,b,all.x=TRUE)
我没有得到我想要的东西。所以你知道我哪里错了吗?
答案 0 :(得分:3)
我们可以使用anti_join
library(dplyr)
anti_join(a,b)
或者
data.frame(C= setdiff(a[,1], b[,1]))