我正在尝试运行包含自变量平方的回归。其他转换似乎有效,但广场无法识别。例如
lm(y ~ x + x^2 + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10))))
Call:
lm(formula = y ~ x + x^2 + sin(x), data = as.data.frame(cbind(x = rnorm(10),
y = rnorm(10))))
Coefficients:
(Intercept) x sin(x)
-0.1594 -0.6171 1.2072
罪被识别,但x ^ 2不是。
答案 0 :(得分:5)
您必须使用I
包含“按原样”处理该术语,而不是将^
解释为公式运算符(有关详细信息,请参阅?formula
)。
lm(y ~ x + I(x^2) + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10))))
Call:
lm(formula = y ~ x + I(x^2) + sin(x), data = as.data.frame(cbind(x = rnorm(10),
y = rnorm(10))))
Coefficients:
(Intercept) x I(x^2) sin(x)
0.06850 2.82023 -0.03109 -3.84221
答案 1 :(得分:0)
你可以简单地写
lm(y ~ x + c(x*x) + sin(x), data=as.data.frame(cbind(x=rnorm(10), y=rnorm(10))))