我用lme4运行一个简单的GLMM ...

model1  <- glmer.nb(S ~ Days*Grazing*Biome + (Days|Site), data=mydata, verbose=T, control=ctrl)

...并从bobyqa:"bobyqa -- maximum number of function evaluations exceeded"进入汇聚代码1 . 所以我查了一下stackoverflow,找到了this有趣的帖子 .

我彻底检查了我的控制对象,现在看起来像这样:

ctrl = glmerControl(optimizer = "bobyqa",
                    #restart_edge=T,
                    boundary.tol = 1e-5,
                    calc.derivs=TRUE,
                    use.last.params=FALSE,
                    sparseX = FALSE,
                    tolPwrss=1e-7,
                    compDev=TRUE,
                    nAGQ0initStep=TRUE, 
                    ## optimizer args
                    optCtrl = list(maxfun = 1e5))

但我仍然得到同样的错误 . 然后我跟着另一个link的adivse说道

  • 您可以使用control = glmerControl(optCtrl = list(maxfun = 1e5))来调整最大功能评估数 . CHECK

  • 如果@ optinfo $ feval将告诉您实际使用了多少函数评估 . TBD

所以我做了model1 @ optinfo $ feval,它说...... 172

我必须承认我期待别的东西,所以我尝试了从1e3到1e8的所有东西,但我仍然被卡住了 .

我的lme4版本是1.1-10;我使用的是Win10 64bit R3.1.3(也许我应该升级我的R?)

任何(!)帮助或评论都非常感谢!干杯