我可以使用c(1:5,27:30)
之类的数字向量在data.table中选择多个列范围。有没有办法对列名做同样的事情?例如,某种形式类似于col1:col5,col27:col30
?
答案 0 :(得分:1)
您可以使用dplyr
:
df <- data.frame(a=1, b=2, c=3, d=4, e=5, f=6, g=7)
dplyr::select(df, a:c, f:g)
a b c f g
1 2 3 6 7
答案 1 :(得分:0)
我不确定我的答案是否有效,但我认为至少在您需要使用data.table
的情况下,这可以为您提供解决方法。
我的建议是将data.table
与cbind
结合使用。因此你可以:
df <- data.frame(a=1, b=2, c=3, d=4, e=5, f=6, g=7)
multColSelectedByName<- cbind(df[,a:c],df[,f:g])
#a b c f g
#1: 1 2 3 6 7
应该注意的一点是,如果其中一个选项中只有一列,例如df[,f]
,那么此列的名称将类似于V2
而不是{{ 1}}。在这种情况下,可以使用:
f