数据表列参考

时间:2017-04-07 10:23:11

标签: r

我有一个数据表,列名是字符串。

虽然

datatable[RowNumber, `Column Name`]

工作正常,

datatable[RowNumber,datatable2[RowNumber,,ColumnName]]

无效。

datatable2[RowNumber,,ColumnName2]= Column Name2

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您将列名称引用为文本字符串而不是原样,则可能遇到需要设置“with = FALSE”的问题。

示例

library(data.table)

head(iris)

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa

# its a data.frame so convert to data.table
dt <- as.data.table(iris)

dt[1, Sepal.Length]
# get 5.1    

dt[1, "Sepal.Length"]
# gives error, so you need with!

dt[1, "Sepal.Length", with = FALSE]
# get 5.1 

# usually this is done when you code columns programmatically
my.col <- "Sepal.Length"
dt[1, my.col, with = FALSE]
# get 5.1