R - data.table行为在使用quote和eval时不一致

时间:2013-11-26 17:53:46

标签: r data.table

我有一个包含yx列的data.table,我想将拟合的值分配给data.table中的一列。所以我尝试了以下内容:

q <- quote(predict(lm(y ~ x)))
dt[, predict(lm(y ~ x))]   # works
dt[, eval(q)]              # also works and gives the same result as the line above
dt[, fitted := predict(lm(y ~ x))]  # correctly creates a column with fitted values
dt[, fitted := eval(q)]             # breaks
Error in eval(expr, envir, enclos) : object 'y' not found

似乎有关quoteeval的行为不一致,具体取决于是否创建了新列。我错过了什么吗?

0 个答案:

没有答案