我想从名为dt的数据表中提取第4、5和6列
以下方法有效:
dt[, c(4,5,6)]
但是以下内容却没有:
a = c(4,5,6)
dt[, a]
实际上,第二种方法给了我以下结果:
4 5 6
有人可以告诉我为什么会这样吗?这两种方法看起来和我一样。
最佳答案
我们可以在对象'a'之前使用双点(..
)提取列
dt[, ..a]
# col4 col5 col6
#1: 4 5 6
#2: 5 6 7
#3: 6 7 8
#4: 7 8 9
或另一种选择是
with = FALSE
dt[, a, with = FALSE]
数据
dt <- data.table(col1 = 1:4, col2 = 2:5, col3 = 3:6, col4 = 4:7, col5 = 5:8, col6 = 6:9)
关于r - 通过存储在数据表中的数字索引从数据表中提取列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49227360/