[R-sig-ME] Simple explanation of the lme Algorithms?

Andrew Robinson A.Robinson at ms.unimelb.edu.au
Sun Mar 25 07:00:41 CEST 2007

Hi everyone,

I'm trying to figure out how the loops work together in lme().  I
understand that we start with some EM iterations to get close to the
optimum, and then switch to Newton-Raphson (eg Pinheiro and Bates
2000, p. 80).  However, I can't reconcile that understanding with my
reading of the lmeControl switches.  There, I see

maxIter: maximum number of iterations for the 'lme' optimization
          algorithm. Default is 50.

msMaxIter: maximum number of iterations for the 'nlm' optimization
          step inside the 'lme' optimization. Default is 50.

niterEM: number of iterations for the EM algorithm used to refine the
          initial estimates of the random effects variance-covariance
          coefficients. Default is 25.

Clearly, niterEM covers the initial EM portion, and I guess that
msMaxIter refers to the invocation of nlm, which performs the Newton
Raphson optimization, but then what role does maxIter play, and what
is 'lme' optimization doing?

If I've missed the obvious page in P&B 2000, or the obvious paper,
then I apologize: please let me know!  I tried to find a copy of 

Bates, D.M. and Pinheiro, J.C. (1998) "Computational methods for
multilevel models" available in PostScript or PDF formats at

but franz appears to be down.


Andrew Robinson  
Department of Mathematics and Statistics            Tel: +61-3-8344-9763
University of Melbourne, VIC 3010 Australia         Fax: +61-3-8344-4599

More information about the R-sig-mixed-models mailing list