如果未满足条件,则删除数据表中的行

时间:2014-03-25 22:05:22

标签: r dataframe data.table

如果他们不符合条件,我会尝试从data.table文件中删除行。基本上,我想删除所有不具有重复18次的grp标签的行(标签32重复18次,它在示例中不可见)。在下面的例子中,grp标签" 33"只重复4次。因此,我想自动删除这4行。

输入:

library(data.table)
x <- fread(x)
tail(x)
           V1  V2  V3 grp
1: uc007cih.1 575 175  32
2: uc007cih.1 576 142  32
3: uc007cih.1 577 104  33
4: uc007cih.1 578  99  33
5: uc007cih.1 579  95  33
6: uc007cih.1 580  94  33

grp标签可以改变,可能会有几个重复,但如果它们不存在18次,它们应该基本上被删除。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

你走了:

x.filtered = x[, if(.N == 18) .SD, by = grp]