[R] Looping until a solution is found

John Poulsen jpoulsen at zoo.ufl.edu
Sat May 30 15:08:34 CEST 2009


Hello,

I am using maximum likelihood to find the best parameters for a model.  
This involves sometimes tweaking the starting values to find a solution 
that converges.

I would like to automate the process so that when the optimizer runs 
into an error it tweaks one of the parameters slightly, tries the fit 
again, and then continues this until a solution if found.

I have been using try() to test if a fit will work (see below), but how 
do I run a loop that says continue until class(m1) is not "try error"?

   m1<-mlefun(startvals, data=data)
   
if(class(m1)=="try-error"){startvals<-list(alpha=10,beta=1,loggamma=log(5),logk=log(exp(unlist(startvals[4]))+0.2))
                  mlefun(starvals, data)}

This seems like it should be easy... but I am stymied.  Thanks for your help

John




More information about the R-help mailing list