[R] Function accepted by optim but not mle2 (?)

Ben Bolker bbolker at gmail.com
Thu Jan 12 17:30:16 CET 2012


Medimel <medimelenglish <at> gmail.com> writes:

> 
> Dear Sir/ Madam,
> 
> I'm having trouble de-bugging the following - which works perfectly
> well with optim or optimx - but not with mle2.
> I'd be really grateful if someone could show me what is wrong. Many
> thanks in advance. JSC:
> 



   mle2 is built on mle from the stats3 package, which expects
the function to be specified in terms of a set of independent parameters
(e.g.  gompertz2 <- function(a3,b3) {  ... }  

  There is a workaround, which could be better described in the documentation,
which is to set the 'vecpar' argument to TRUE and use parnames() a
parameter-names attribute on the function, as follows:

library(bbmle)

parnames(gompertz2) <- c("a3","b3")
A <- mle2(gompertz2,
          vecpar=TRUE,
          start=list(a3=0.03,b3=0.1),data=list(data=data))

Also note that 'data' must be specified as a *named* list,
as above.

  Your example was quite clear but not entirely reproducible --
it would have been good to provide a short example 'data' set.



More information about the R-help mailing list