我正在尝试下一个代码,以尝试预测是否可以帮助我找到阶数为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

如果我尝试找到x = 7的值,则会得到以下信息:
> predict(mypol, 7)
Error in eval(predvars, data, env) : not that many frames on the stack

我究竟做错了什么?

最佳答案

如果阅读predict.lm的帮助,您将看到它需要许多参数,包括newdata

predict(mypol, newdata = data.frame(x=7))

关于r - 使用预测来查找非线性模型的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12593006/

10-12 14:02