我有一个数据表,列名是字符串。
虽然
datatable[RowNumber, `Column Name`]
工作正常,
datatable[RowNumber,datatable2[RowNumber,,ColumnName]]
无效。
datatable2[RowNumber,,ColumnName2]= Column Name2
我该如何解决这个问题?
答案 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