我是R(第一次使用它)的新手。我正在按照本教程http://www.walkingrandomly.com/?p=5254试图绘制曲线并发现最适合我的数据的函数。到目前为止,我已经tryed:R中的非线性最小二乘曲线拟合
> xdata = c(1 ,5, 10, 20, 100)
> ydata = c(23.83333333, 210.3666667, 545.3666667, 1756.866667, 38595.7)
> plot(xdata,ydata)
所以我得到这样的:
然后我尝试:
> p1 = 1
> p2 = 0.2
> fit = nls(ydata ~ xdata^2, start=list(p1=p1,p2=p2))
而且我得到这个错误:
Error in nlsModel(formula, mf, start, wts) :
singular gradient matrix at initial parameter estimates
我在做什么NG? 谢谢
如何绘制曲线? – fredcrs 2014-09-25 19:47:15
绘图是一个完全独立的问题。但是如果你有一个合适的模型('fit'或'fit2'),你可以使用'xs <-seq(min(xdata),max(xdata),length.out = 100);情节(XDATA,YDATA);行(xs,predict(fit,data.frame(xdata = xs)))'。 – MrFlick 2014-09-25 19:51:20
拟合值已经在拟合对象中:'fit(fit)'或'fit $ m $ fitted'。如果您提供的是新数据参数,则只需要使用预测。 – 2014-09-25 20:01:22