Skip to content
Back to formatted view

Raw Message

Message-ID: <4A212FD2.7000905@zoo.ufl.edu>
Date: 2009-05-30T13:08:34Z
From: John Poulsen
Subject: Looping until a solution is found

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