更好的方法是在R中的曲线()图形中调用非线性回归模型?

时间:2017-07-10 20:13:23

标签: r plot non-linear-regression

我一直在学习如何在R中绘制图形和曲线,并使用plot()curve()函数和一组数据来绘制数据和曲线。但是,我不相信我使用的是最有效的方法。

我所做的是设置来自data.frame的2个向量,然后我将一个对象(称为o)分配给nls()函数,如o<-nls(y~I(a*x^3)+I(b*x^2)+I(c*x)+d)。我可以通过调用o获取abcdo)的所有系数值。然后,我可以在绘制点之后将这些值的近似值插入curve()函数。这有效,但我想知道是否有任何方法可以将o直接插入curve函数中,因此我不必重新键入每个系数?

1 个答案:

答案 0 :(得分:1)

请注意,您的函数是多项式,因此其系数是线性的。无论如何,它与nlslm的工作方式相同。指定适合的data.frame:

o <- lm(y ~ poly(x, 3, raw = TRUE), data = DF)
plot(y ~ x, data = DF)
curve(predict(o, newdata = data.frame(x = x)), add = TRUE)