Return the name of the grouping factors from mixed effects models.

find_random(x, split_nested = FALSE, flatten = FALSE)



A fitted mixed model.


Logical, if TRUE, terms from nested random effects will be returned as separated elements, not as single string with colon. See 'Examples'.


Logical, if TRUE, the values are returned as character vector, not as list. Duplicated values are removed.


A list of character vectors that represent the name(s) of the random effects (grouping factors). Depending on the model, the returned list has following elements:

  • random, the "random effects" terms from the conditional part of model

  • zero_inflated_random, the "random effects" terms from the zero-inflation component of the model


library(lme4) data(sleepstudy) sleepstudy$mygrp <- sample(1:5, size = 180, replace = TRUE) sleepstudy$mysubgrp <- NA for (i in 1:5) { filter_group <- sleepstudy$mygrp == i sleepstudy$mysubgrp[filter_group] <- sample(1:30, size = sum(filter_group), replace = TRUE) } m <- lmer( Reaction ~ Days + (1 | mygrp / mysubgrp) + (1 | Subject), data = sleepstudy )
#> boundary (singular) fit: see ?isSingular
#> $random #> [1] "mysubgrp:mygrp" "mygrp" "Subject" #>
find_random(m, split_nested = TRUE)
#> $random #> [1] "mysubgrp" "mygrp" "Subject" #>