我需要选择data.table
中带有列名或位置向量的特定列。
library(data.table)
DT <- data.table(cbind(A=rnorm(50),B=rnorm(50),C=rnorm(50),D=rnorm(50)))
索引列的“ A”和“ C”以这种方式很好地工作。
DT[,c("A","C")]
但是如果我指定一个变量并尝试为其编制索引,则会失败。
mycols <- c("A","C")
DT[,mycols]
我被迫使用with=FALSE
,但我不想这样做,因为with=FALSE
将DT视为data.frame
,并且失去了data.table
的所有性能优势(速度)。
我的问题是。为什么data.table
以前一种方式接受字符向量,而不能接受后者?是否有解决方案可以保留data.table
的性能优势?
谢谢