| find_variables {insight} | R Documentation |
Find names of all variables
Description
Returns a list with the names of all variables, including response value and random effects.
Usage
find_variables(
x,
effects = "all",
component = "all",
flatten = FALSE,
verbose = TRUE
)
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 |
verbose |
Toggle warnings. |
Value
A list with (depending on the model) following elements (character vectors):
-
response, the name of the response variable -
conditional, 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 variables -
dispersion, the name of the dispersion terms -
instruments, the names of instrumental variables -
random, the names of the random effects (grouping factors) -
zero_inflated, the names of the predictor variables from the zero-inflated part of the model -
zero_inflated_random, the names of the random effects (grouping factors)
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 theeffectsargument - but no auxiliary parameters). -
"distributional"(or"auxiliary"): components likesigma,dispersion,betaorprecision(and other auxiliary parameters) are returned.
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.
Examples
data(cbpp, package = "lme4")
data(sleepstudy, package = "lme4")
# 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 <- lme4::glmer(
cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp,
family = binomial
)
find_variables(m1)
m2 <- lme4::lmer(
Reaction ~ Days + (1 | mygrp / mysubgrp) + (1 | Subject),
data = sleepstudy
)
find_variables(m2)
find_variables(m2, flatten = TRUE)