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)

Arguments

x

A merMod-object. For is_singluar(), may also be a glmmTMB-object.

tolerance

Indicates up to which value the convergence result is accepted. The smaller tolerance is, the stricter the test will be.

Value

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.

Details

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.

Examples

library(sjmisc) library(lme4)
#> Loading required package: Matrix
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