使用get(x)更新data.table

时间:2014-07-08 16:43:25

标签: r data.table

假设我有以下data.table

DT <- data.table(x = 1:5, y = 6:10, z = 11:15)

我有一个变量a <- "y"。我可以使用y访问DT[, get(a)]的值,没问题。

但是,如果我尝试使用yDT[, get(a) := 0]的值设置为0,则会出现以下错误:

Error in get(a) : object 'y' not found

使用get(a)时,为什么y找不到:=?如果不直接引用它,我还能如何更新y?如果a是函数的参数,或者我正在迭代变量名的向量,这很有用。

答案:嗯,好像DT[, (a) := 0]DT[, eval(a) := 0]DT[, c(a) := 0]都回答了这个问题。感谢@eddi和@AnandaMahto在评论中的帮助。

此问题的最佳解释是在此主题:Removing multiple columns from r data table...

0 个答案:

没有答案