我有一个非常大的数据框,但非常类似于这个:
df <- data.frame(Group = rep(c('A', 'B', 'C', 'D'), 50),
Number = sample(1:100, 200, replace = T))
Group Number
A 52
B 74
C 22
D 90
A 7
B 93
C 50
D 10
A 31
B 19我有另一个名为"remove“的数据框,它看起来像这样:
>remove
Group Number
A 52
C 22
B 93
D 10如何设置df数据的子集,以便排除"remove“中包含Group和Numer值的所有行,以获得以下数据帧?该文件非常大,因此我无法手动键入要排除的值。所需输出:
Group Number
B 74
D 90
A 7
C 50
A 31
B 19谢谢!
发布于 2013-11-07 01:20:11
您可以使用%in%来完成此操作
df <- df[!(df$Number %in% remove$Number),]如果%in%在向量remove中,则df$Number将返回TRUE。因为我们需要补码,所以我们首先用!对集合求反。
发布于 2016-10-20 14:54:47
对于更复杂的排除,您可以在两个数据帧(即Group+Number)中创建一个唯一的列,并按照克里斯托弗描述的方法寻求排除它。
https://stackoverflow.com/questions/19818449
复制相似问题