我想在按 R 数据表中的特定列分组后根据条件选择行的子集。
以Mtcars数据为例。
dt_mtcars <- as.data.table(mtcars)
dt_mtcars[,.N,by=.(hp)]
hp N
1: 110 3
2: 93 1
3: 175 3
4: 105 1
5: 245 2
6: 62 1
7: 95 1
8: 123 2
9: 180 3
10: 205 1
11: 215 1
12: 230 1
13: 66 2
14: 52 1
15: 65 1
16: 97 1
17: 150 2
18: 91 1
19: 113 1
20: 264 1
21: 335 1
22: 109 1
hp N
现在我想要实现的目标是根据计数选择一个数据子集,例如在这里我希望将所有数据存储在 dt_mtcars 中,其中 N >1
如果我尝试这样的事情(从概念上讲,这是我想要实现的目标),它会显示所有行,而不是获取 N 大于 1 的行。
dt_mtcars[.N>1,.SD,by=.(hp)]
请协助 。
我们可以使用以下方法来做到这一点if
dt_mtcars[, if(.N>1) .SD ,hp]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)