重新计算R log(Y + 1)

时间:2014-10-15 03:40:47

标签: r formula

我正在处理一个数据集,我必须生成要动态传递给lm的公式。所以,我正在使用重新制定来做到这一点。

formula = reformulate(termlabels = c('feature1', 'feature2', 'feature3'), response="y")

是连续的。

这让公式为y ~ feature1+feature2+feature3

但我希望公式为log(y+1) ~ feature1+feature2+feature3

我如何使用重新制定?

1 个答案:

答案 0 :(得分:8)

将回复作为引用表达式传递:

x <- c("feature1", "feature2", "feature3")
reformulate(x, response=quote(log(y+1)))

或者您可以手动构建公式。这就是reformulate所做的事情。

formula(paste("log(y + 1) ~", paste(x, collapse="+")))