使用data.table动态创建的列变量子集行

时间:2015-07-13 19:39:48

标签: r data.table

我使用data.table根据变量的频率对data.table的行进行子集化(仅当给定列变量的值超过阈值时才保留行)。

以下代码有效。我喜欢它是如何动态计算的,没有中间任务混乱命名空间,但包括dt在另一个dt内部似乎是un-data.table-like?我想知道是否有更有效的方法来改善优雅和/或性能。

可能是函数(.Ntablelength或其他)在J参数中的方法,基于这些值的行子集在I参数中单个data.table调用?

示例

的参考
dt <- data.table(mtcars)
print(table(dt[,cyl]))
#  4  6  8 
# 11  7 14 

data.table code

只保留cyl的任何值出现超过10次的行(在这种情况下为4和8个汽缸)

library('data.table')
dt <- data.table(mtcars)
dt[cyl %in% dt[,.N, by=cyl][N>10, cyl],]

0 个答案:

没有答案