假设我有以下data.table
DT <- data.table(x = 1:5, y = 6:10, z = 11:15)
我有一个变量a <- "y"
。我可以使用y
访问DT[, get(a)]
的值,没问题。
但是,如果我尝试使用y
将DT[, 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...