具有变换的R< lm()公式的格式

时间:2015-06-19 02:46:24

标签: r transformation lm

我无法弄清楚如何在一行中执行以下操作:

data(attenu)
x_temp = attenu$accel^(1/4)
y_temp = log(attenu$dist)
best_line = lm(y_temp ~ x_temp)

由于上述工作,我认为我可以做到以下几点:

data(attenu)
best_line = lm( log(attenu$dist) ~ (attenu$accel^(1/4)) )

但这会产生错误:

Error in terms.formula(formula, data = data) : invalid power in formula

在R公式格式中使用变换变量时,我显然缺少一些东西。为什么这不起作用?

1 个答案:

答案 0 :(得分:13)

您正在寻找函数I,以便^运算符在公式中被视为算术,即。

x <- runif(1:100)
y <- x + rnorm(100,0, 3)
lm(log(y) ~ I(x^(1/4))