peter dalgaard <pdalgd <at> gmail.com> writes: > > > On Apr 19, 2012, at 09:52 , Joachim Audenaert wrote: > > > Hi all, > > > > I have some problems with the mle2 function > > > > > >> RogersIIbinom <- function(N0,attackR3_B,Th3_B) > {N0-lambertW(attackR3_B*Th3_B*N0*exp(-attackR3_B*(24-Th3_B*N0)))/ > (attackR3_B*Th3_B)} > >> RogersII_B <- > > mle2(FR~dbinom(size=N0,prob=RogersIIbinom(N0,attackR3_B,Th3_B)/N0), > start=list(attackR3_B=1.5,Th3_B=0.04),method="Nelder-Mead",data=dat) > > Error in dbinom(x, size, prob, log) : > > Non-numeric argument to mathematical function > > > > Can somenone explain met what this error means? All my parameters and data > > are defined, so I don't understand what the non-numeric argument is??? > > With different equations the script does work........... > > traceback() indicates that the prob= argument is a vector of > complex numbers when doing the call > > minuslogl(attackR3_B = -0.262499999999999, Th3_B = 1.755625) >
[snip] Further debugging shows that this is caused by an attempt to evaluate a negative attack-rate parameter. The short answer is that if you use method="L-BFGS-B", lower=1e-5 (you need to set the lower bound slightly *above* zero) you can get this to work fine. I have posted a longer, somewhat obsessive answer at http://www.math.mcmaster.ca/bolker/misc/rogers2.pdf which is an ongoing brain dump/set of notes about fitting the Rogers random predator equation and related models in R. Ben Bolker ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.