setdiff 两个单列数据框

setdiff two single column data frames

我遇到了一个非常简单的问题,我不知道如何解决。这是交易。我有两个一列数据框

a <- data.frame(C=c("c1","c2","c3","c4","c5","c6","c7","c8"))
b <- data.frame(C=c("c1","c4","c5","c8"))

我想获得一列数据框,其中的条目没有出现在 b 中,但它们出现在 a 中。 IE。具有 "c2"、"c3"、"c6"、"c7" 的数据框。 我试过了

c <- setdiff(a,b)

但我得到了一个数据框,还有

c <- merge(a,b,all.x=TRUE)

我没有得到我想要的。那你知道我哪里错了吗?

我们可以使用anti_join

library(dplyr)
anti_join(a,b)

或者

data.frame(C= setdiff(a[,1], b[,1]))