我正在尝试下一个代码,试图看看预测是否可以帮助我找到2阶多项式的因变量的值,在这种情况下很明显y = x ^ 2:
x <- c(1, 2, 3, 4, 5 , 6)
y <- c(1, 4, 9, 16, 25, 36)
mypol <- lm(y ~ poly(x, 2, raw=TRUE))
> mypol
Call:
lm(formula = y ~ poly(x, 2, raw = TRUE))
Coefficients:
(Intercept) poly(x, 2, raw = TRUE)1 poly(x, 2, raw = TRUE)2
0 0 1
Run Code Online (Sandbox Code Playgroud)
如果我试图找到x = 7的值,我得到这个:
> predict(mypol, 7)
Error in eval(predvars, data, env) : not that many frames on the stack
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
mne*_*nel 14
如果您阅读了帮助predict.lm,您将看到它需要一些参数,包括newdata
newdata - 一个可选的数据框,用于查找要预测的变量.如果省略,则使用拟合值.
predict(mypol, newdata = data.frame(x=7))
Run Code Online (Sandbox Code Playgroud)