[R] controlling nls errors
Douglas Bates
bates at stat.wisc.edu
Thu Feb 19 23:24:06 CET 2004
"Bill Shipley" <bill.shipley at usherbrooke.ca> writes:
> Hello. I am using the nonlinear least squares function (nls). The
> function that I am trying to fit seems to be very sensitive to the
> starting values and, if these are not chosen properly, the nls function
> stops and gives an error message:
>
>
>
> Error in numericDeriv(form[[3]], names(ind), env) :
>
> Missing value or an Infinity produced when evaluating the model
>
> In addition: Warning message:
>
> NaNs produced in: sqrt((quantum.yeild * I + Amax)^2 - 4 * theta *
> quantum.yeild *
>
>
>
> I want to embed the nls function within a loop so that if it gives an
> error message I can automatically adjust the starting value and retry.
> To do this I have to be able to test if the function has converged
> within the loop. I need something like an if.error(fit) function that
> will return true if there has been an error. Does such a thing exist?
Recently this issue was discussed on this list - specifically related
to using try() to wrap the call the nls. The nlsList function in
package nlme does exactly this.
BTW, if I were Google I would ask something like "did you mean to
search for Quantum.yield?"
More information about the R-help
mailing list