Hi, I am trying to fit a curve to data. My command line is: model10=nls(offspring~((A*c^k)/gamma(k))*((degdays-alpha)^(k-1))*exp(-c*(degdays-alpha)), start=list(A=30,k=2,c=.018,alpha=131)) I get the error message: Error in numericDeriv(form[[3]], names(ind), env) : Missing value or an infinity produced when evaluating the model In addition: Warning message: full precision was not achieved in 'gammafn' My starting values yield a curve very similar t to other models which I fitted successfully. So any suggestions? I've tried different starting values. -- View this message in context: http://www.nabble.com/using-nls-to-fit-a-curve-to-data-tp19332210p19332210.html Sent from the R help mailing list archive at Nabble.com.
jpl <s-jlubben1 <at> math.unl.edu> writes:> > > Hi, > > I am trying to fit a curve to data. My command line is: > >model10=nls(offspring~((A*c^k)/gamma(k))* ((degdays-alpha)^(k-1))*exp(-c*(degdays-alpha)),> start=list(A=30,k=2,c=.018,alpha=131)) >try trace=TRUE to see where the function is trying to go. I think you could also simplify this a bit: model10 = nls(offspring~A*dgamma(degdays-alpha,rate=c,shape=k),...) You can probably also use algorithm="plinear" and eliminate the explicit A parameter. I would also consider using algorithm="port" and setting lower and upper boundaries. good luck, Ben Bolker
Thanks Ben! Switching over to the gamma pdf and using the algorithm="plinear" did the trick. jpl -- View this message in context: http://www.nabble.com/using-nls-to-fit-a-curve-to-data-tp19332210p19360761.html Sent from the R help mailing list archive at Nabble.com.