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

nfm*_*ure 6 r transformation linear-regression lm

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

data(attenu)
x_temp = attenu$accel^(1/4)
y_temp = log(attenu$dist)
best_line = lm(y_temp ~ x_temp)
Run Code Online (Sandbox Code Playgroud)

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

data(attenu)
best_line = lm( log(attenu$dist) ~ (attenu$accel^(1/4)) )
Run Code Online (Sandbox Code Playgroud)

但是这给出了错误:

Error in terms.formula(formula, data = data) : invalid power in formula
Run Code Online (Sandbox Code Playgroud)

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

pic*_*ick 13

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

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

  • 谢谢!我今天学了些新东西. (2认同)