converge_ok()
provides an alternative convergence test for
merMod
-objects; is_singular()
checks
post-fitting convergence warnings. If the model fit is singular,
warning about negative eigenvalues of the Hessian can most likely
be ignored.
converge_ok(x, tolerance = 0.001) is_singular(x, tolerance = 1e-05)
x | A |
---|---|
tolerance | Indicates up to which value the convergence result is
accepted. The smaller |
For converge_ok()
, a logical vector, which is TRUE
if
convergence is fine and FALSE
if convergence is suspicious.
Additionally, the convergence value is returned as return value's name.
is_singluar()
returns TRUE
if the model fit is singular.
converge_ok()
provides an alternative convergence test for
merMod
-objects, as discussed
here
and suggested by Ben Bolker in
this comment.
is_singular()
checks if a model fit is singular, and can
be used in case of post-fitting convergence warnings, such as
warnings about negative eigenvalues of the Hessian. If the fit
is singular (i.e. is_singular()
returns TRUE
), these
warnings can most likely be ignored.
library(sjmisc) library(lme4)#>data(efc) # create binary response efc$hi_qol <- dicho(efc$quol_5) # prepare group variable efc$grp = as.factor(efc$e15relat) # data frame for fitted model mydf <- data.frame(hi_qol = as.factor(efc$hi_qol), sex = as.factor(efc$c161sex), c12hour = as.numeric(efc$c12hour), neg_c_7 = as.numeric(efc$neg_c_7), grp = efc$grp) # fit glmer fit <- glmer(hi_qol ~ sex + c12hour + neg_c_7 + (1|grp), data = mydf, family = binomial("logit")) converge_ok(fit)#> 1.19757278379967e-05 #> TRUE