如何在R中绘制拟合多项式?

时间:2016-04-09 16:59:25

标签: r polynomials

我在parametric polynomial regression中有一个R,我就这样拟合了我的数据:

poly_model <- lm(mydataframef$y ~ poly(mydataframe$x,degree=5))

mydf显然包含yx。然后我像这样绘制它

plot(mydataframe$x, mydataframe$y, xlab='regressor or predictor variable polynomial regression', ylab='outcome or label')

然后我想添加拟合的多项式,所以我做了以下几点:

abline(poly_model)

这给了我一个警告: Warning message: In abline(poly_model) : only using the first two of 6 regression coefficients

当然,情节完全没有了,因为承诺它只使用前两个,即截距和斜率。当我只有一个预测变量时,为什么只使用前两个系数?那么,情节应该是2-d呢?困惑。感谢。

2 个答案:

答案 0 :(得分:2)

使用fitted。使用内置data.frame BOD

fm <- lm(demand ~ poly(Time, 3), BOD)
plot(demand ~ Time, BOD)
lines(fitted(fm) ~ Time, BOD, col = "red")

,并提供:

screenshot

答案 1 :(得分:2)

以下是答案,

poly_model <- lm(mpg ~ poly(hp,degree=5), data = mtcars)

x <- with(mtcars, seq(min(hp), max(hp), length.out=2000))
y <- predict(poly_model, newdata = data.frame(hp = x))

plot(mpg ~ hp, data = mtcars)
lines(x, y, col = "red")

输出图是,

enter image description here