R中glmer的收敛与否

R中glmer的收敛与否,r,glm,convergence,R,Glm,Convergence,我正在用glmer函数进行模拟。对于我提取的每个模拟 估算,…输入数据库,但我还希望有一个变量 指示模拟数据是否正确聚合。(我收到警告,例如奇异收敛、假收敛……但估计值还是给出了) 我试着 assign("last.warning", NULL, envir = baseenv()) # clear the previous warning mod1=glmer(y~x+(1+x|study), family="binomial", data=test1) warningss1=ifelse(l

我正在用glmer函数进行模拟。对于我提取的每个模拟 估算,…输入数据库,但我还希望有一个变量 指示模拟数据是否正确聚合。(我收到警告,例如奇异收敛、假收敛……但估计值还是给出了)

我试着

assign("last.warning", NULL, envir = baseenv()) # clear the previous warning
mod1=glmer(y~x+(1+x|study), family="binomial", data=test1)
warningss1=ifelse(length(warnings())>0, "yes", "no"); warningss1

它总是不会给我任何回报,即使它是发散的`

我也不会像我们两人已经做过的那样,用我的头去反对警告的一般机制。我无法找到归零或重置警告日志的方法。它相当有效地隐藏起来了。相反,看看这个对象,比如说它的名字是
gm1
,你会遇到无法收敛的问题。(我只是减少了样本量,直到出现收敛失败。):

    gm1@optinfo$conv$lme4$messages
#[1] "Model failed to converge with max|grad| = 0.10941 (tol = 0.001, component 5)"
#[2] " Hessian is numerically singular: parameters are not uniquely determined"   

any( grepl("failed to converge", gm1@optinfo$conv$lme4$messages) )
#[1] TRUE

#with a convergent run:
> any( grepl("failed to converge", gm1@optinfo$conv$lme4$messages) )
#[1] FALSE 
>   gm1@optinfo$conv$lme4$messages
#NULL