我想根据数据是否包含第二个列表中指定的“ID”列值将数据框的内容拆分为两个。
我有dplyr加载并且%in%效果很好,但得到但是%!in%返回了以下错误:
D2A< -D1 [D1 $ ID%以%modtab2 $ ID,]
> D2b<-D1[D1$ID%!in%modtab2$ID,]
> Error in lapply(x, `[`, i) : could not find function "%!in%"
有关修复的建议?
答案 0 :(得分:1)
正如错误消息所述,%!in%
不是R函数。
你必须否定整个表达,例如!(x %in% y)
所以你可以做:D1[!(D1$ID %in% modtab2$ID), ]
您还可以创建自定义%!in%
功能:
`%!in%` <- function(x, y) !(x %in% y)