具有转换的 R 的 lm() 公式的格式
Format of R's lm() Formula with a Transformation
我不太明白如何在一行中完成以下操作:
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 的公式格式中使用转换后的变量时,我显然遗漏了一些东西。为什么这不起作用?
您正在寻找函数 I
以便 ^
运算符在公式中被视为算术运算符,即
x <- runif(1:100)
y <- x + rnorm(100,0, 3)
lm(log(y) ~ I(x^(1/4))
我不太明白如何在一行中完成以下操作:
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 的公式格式中使用转换后的变量时,我显然遗漏了一些东西。为什么这不起作用?
您正在寻找函数 I
以便 ^
运算符在公式中被视为算术运算符,即
x <- runif(1:100)
y <- x + rnorm(100,0, 3)
lm(log(y) ~ I(x^(1/4))