使用 [] 对 data.table 列进行子集化
Subsetting data.table columns using []
这很奇怪。当我通过
尝试 data.table
上的 select 列时
df1[, 30]
它只给了我 30,或者我输入的任何数字。不是第 30 列。
此处数据:https://github.com/pourque/country-data/blob/master/data/df1.csv
我已经检查过了,当我刚刚进行测试时一切正常data.frame
:
df2 <- data.frame(x = 1:3, y = 3:1, z = 7:9)
> df2[, 2]
[1] 3 2 1
对可能发生的事情有什么想法吗?
使用 data.table 时,您需要使用以下内容按数字选择列:
df2[, 2]
df2[, .SD, .SDcols=2]
这仍然是 return data.table,不是向量。
与往常一样,您还可以在下面使用 return 向量:
df2[[2]]
这很奇怪。当我通过
尝试data.table
上的 select 列时
df1[, 30]
它只给了我 30,或者我输入的任何数字。不是第 30 列。
此处数据:https://github.com/pourque/country-data/blob/master/data/df1.csv
我已经检查过了,当我刚刚进行测试时一切正常data.frame
:
df2 <- data.frame(x = 1:3, y = 3:1, z = 7:9)
> df2[, 2]
[1] 3 2 1
对可能发生的事情有什么想法吗?
使用 data.table 时,您需要使用以下内容按数字选择列:
df2[, 2]
df2[, .SD, .SDcols=2]
这仍然是 return data.table,不是向量。
与往常一样,您还可以在下面使用 return 向量:
df2[[2]]