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

Better way call a non-linear regression model in curve() drawings in R?

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

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

请注意,您的函数是多项式,因此其系数是线性的。不管怎样,它对 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)