Returns a list with the names of all variables, including response value and random effects.
Arguments
- x
A fitted model.
- effects
Should variables for fixed effects, random effects or both be returned? Only applies to mixed models. May be abbreviated.
- component
Should all predictor variables, predictor variables for the conditional model, the zero-inflated part of the model, the dispersion term or the instrumental variables be returned? Applies to models with zero-inflated and/or dispersion formula, or to models with instrumental variable (so called fixed-effects regressions). May be abbreviated. Note that the conditional component is also called count or mean component, depending on the model.
- flatten
Logical, if
TRUE
, the values are returned as character vector, not as list. Duplicated values are removed.- verbose
Toggle warnings.
Value
A list with (depending on the model) following elements (character vectors):
response
, the name of the response variableconditional
, the names of the predictor variables from the conditional model (as opposed to the zero-inflated part of a model)cluster
, the names of cluster or grouping variablesdispersion
, the name of the dispersion termsinstruments
, the names of instrumental variablesrandom
, the names of the random effects (grouping factors)zero_inflated
, the names of the predictor variables from the zero-inflated part of the modelzero_inflated_random
, the names of the random effects (grouping factors)
Note
The difference to find_terms()
is that
find_variables()
returns each variable name only once, while
find_terms()
may return a variable multiple times in case of
transformations or when arithmetic expressions were used in the formula.
Model components
Possible values for the component
argument depend on the model class.
Following are valid options:
"all"
: returns all model components, applies to all models, but will only have an effect for models with more than just the conditional model component."conditional"
: only returns the conditional component, i.e. "fixed effects" terms from the model. Will only have an effect for models with more than just the conditional model component."smooth_terms"
: returns smooth terms, only applies to GAMs (or similar models that may contain smooth terms)."zero_inflated"
(or"zi"
): returns the zero-inflation component."dispersion"
: returns the dispersion model component. This is common for models with zero-inflation or that can model the dispersion parameter."instruments"
: for instrumental-variable or some fixed effects regression, returns the instruments."location"
: returns location parameters such asconditional
,zero_inflated
,smooth_terms
, orinstruments
(everything that are fixed or random effects - depending on theeffects
argument - but no auxiliary parameters)."distributional"
(or"auxiliary"
): components likesigma
,dispersion
,beta
orprecision
(and other auxiliary parameters) are returned.
Examples
if (require("lme4")) {
data(cbpp)
data(sleepstudy)
# some data preparation...
cbpp$trials <- cbpp$size - cbpp$incidence
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)
}
m1 <- glmer(
cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp,
family = binomial
)
find_variables(m1)
m2 <- lmer(
Reaction ~ Days + (1 | mygrp / mysubgrp) + (1 | Subject),
data = sleepstudy
)
find_variables(m2)
find_variables(m2, flatten = TRUE)
}
#> boundary (singular) fit: see help('isSingular')
#> [1] "Reaction" "Days" "mysubgrp" "mygrp" "Subject"