Ama*_*ian 6 r indices data.table
我想从名为 dt 的数据表中提取第 4、5、6 列
以下方法有效:
dt[, c(4,5,6)]
Run Code Online (Sandbox Code Playgroud)
但以下没有:
a = c(4,5,6)
dt[, a]
Run Code Online (Sandbox Code Playgroud)
事实上,第二种方法给了我一个结果:
4 5 6
Run Code Online (Sandbox Code Playgroud)
有人能告诉我为什么会这样吗?这两种方法看起来和我一样。
我们可以..在对象 'a' 之前使用双点 ( ) 来提取列
dt[, ..a]
# col4 col5 col6
#1: 4 5 6
#2: 5 6 7
#3: 6 7 8
#4: 7 8 9
Run Code Online (Sandbox Code Playgroud)
或者另一种选择是 with = FALSE
dt[, a, with = FALSE]
Run Code Online (Sandbox Code Playgroud)
dt <- data.table(col1 = 1:4, col2 = 2:5, col3 = 3:6, col4 = 4:7, col5 = 5:8, col6 = 6:9)
Run Code Online (Sandbox Code Playgroud)