[R] Error messages using LMER

Douglas Bates dmbates at gmail.com
Thu Aug 18 15:59:10 CEST 2005


On 8/18/05, Shige Song <shigesong at gmail.com> wrote:
> Dear All,
> 
> After playing with lmer for couple of days, I have to say that I am
> amazed! I've been using quite some multilevel/mixed modeling packages,
> lme4 is a strong candidate for the overall winner, especially for
> multilevel generzlized linear models.
> 
> Now go back to my two-level poisson model with cross-classified model.
> I've been testing various different model specificatios for the past
> couple of days. Here are the models I tried:
> 
> 1) Two level random intercept model with level-1 covariates only
> m1 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2 ,
> data, poisson, method="Laplace")
> 
> 2) Two-level random intercept model with both level-1 and level-2
> covariates, but no cross-level interactions:
> m2 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2 +
> z1 + z2, data, poisson, method="Laplace")
> 
> 3) Two-level random intercept with cross-level interaction
> m3 <- lmer(.D ~ offset(log(.Y)) + (1|provn) +(1|bcohort) + x1 + x2 +
> z1 + z2 + x1:z1 + x2:z2, data, poisson, method="Laplace")
> 
> Both model 1 and 2 run fine. For model 3, I got error message:
> ----------------------------------
> Error in fn(par, ...) : Unable to invert singular factor of downdated X'X
> In addition: Warning messages:
> 1: optim or nlminb returned message ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
>  in: LMEopt(x = mer, value = cv)
> 2: Leading minor of size 1 of downdated X'X is indefinite
> ----------------------------------
> 
> What is going on here? Any workarounds? Thanks!

The first thing I would try is set the EMverbose and msVerbose flags
in the control list to see what occurs within the optimization.  That
is append the argument

control = list(EMverbose = TRUE, msVerbose = TRUE)

to your call to lmer().  You may also want to try the call in a
recently compiled R-devel, which will be released as R-2.2.0 in
October.  You will notice that the first warning message reads "optim
or nlminb". In R-2.1.1 lmer uses optim for the optimization.  Starting
with R-2.2.0 the default is to use nlminb.

Test compilations of R-devel for Windows are available from CRAN.




More information about the R-help mailing list