我使用 R 中的 glmer 命令(来自 lme4 包)估计了随机系数风险模型。该命令如下所示。
(logit.full <-
glmer(event ~
+ V12 * I(V1 - 2)
+ V13
+ V9 * I(V5 - 2)
+ V11
+ V10
+ V2
+ V3
+ V4
+ V6 + V7 + V8
+ (1 + V6 + V7 + V8 | V14),
family=binomial("logit"), data=dataset,
verbose=TRUE, control=list(maxIter=400)))
该模型在过去三个月中一直运行良好。现在,将软件包更新到 1.0-4 后,“control”命令似乎有问题,我收到以下错误消息:
Warning in glmer(event ~ a1+a2+a3 :
Use control=glmerControl(..) instead of passing a list of class “list”
Error in function (optimizer = c("bobyqa", "Nelder_Mead"), restart_edge = FALSE, :
unused argument(s) (maxIter = 400)
有人知道如何解决这个问题吗?
最佳答案
来自?glmerControl
:
optCtrl: a ‘list’ of additional arguments to be passed to the nonlinear optimizer (see ‘Nelder_Mead’, ‘bobyqa’). In particular, both ‘Nelder_Mead’ and ‘bobyqa’ use ‘maxfun’ to specify the maximum number of function evaluations they will try before giving up - in contrast to ‘optim’ and ‘optimx’-wrapped optimizers, which use ‘maxit’.
诚然,这只是相当长且复杂的帮助页面的一小部分。
所以 control=glmerControl(optCtrl=list(maxfun=...))
应该这样做。
我可以看到这可能是一个常见问题解答,因此我们可能会添加一些特殊代码来检测这种情况(和/或在文档中添加更突出的注释)。
关于r - 控制 lme4 1.0.* 中的最大迭代次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999329/