我想从一个data.table选择多个列(具有1200列名)列名指定一个范围,如一个可以用做dplyr,例如:使用列名范围在data.table像dplyrs选择
library(data.table)
library(dplyr)
dt <- data.table(w = sample(100, 50),
x = sample(100, 50),
y = sample(100, 50),
z = sample(100, 50))
select(dt, w:y)
目前我使用以下解决方法: 另一个
cols_to_select <- names(select(dt, w:y))
dt[ ,cols_to_select, with = FALSE]
我认为使用COL-数的其他选项(例如dt[ , 1:3, with = FALSE]
可能导致讨厌的错误。选择名称的选项是:
dt[ , .SD, .SDcols = cols_to_select]
这将是超真棒,如果有类似以下内容:
dt[ , .(w:y)]
有没有更好的方式来做到这一点?如果不是为什么?如果这个问题更好地放在data.table的github问题上,让我知道
'select_vars(名称(DT),W:Y)'可能比'名称(选择(DT,W:Y))更好' – shadow
为什么呢?因为你有更多的选择? – grrgrrbla
是不是已经存在的开发版本? – A5C1D2H2I1M1N2O1R2T1