Returns a list with the names of all terms, including response
value and random effects, "as is". This means, on-the-fly tranformations
or arithmetic expressions like log()
, I()
, as.factor()
etc. are
preserved.
Arguments
- x
A fitted model.
- flatten
Logical, if
TRUE
, the values are returned as character vector, not as list. Duplicated values are removed.- verbose
Toggle warnings.
- ...
Currently not used.
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)random
, 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)dispersion
, the name of the dispersion termsinstruments
, the names of instrumental variables
Returns NULL
if no terms could be found (for instance, due to
problems in accessing the formula).
Note
The difference to find_variables()
is that find_terms()
may return a variable multiple times in case of multiple transformations
(see examples below), while find_variables()
returns each variable
name only once.
Examples
if (require("lme4")) {
data(sleepstudy)
m <- suppressWarnings(lmer(
log(Reaction) ~ Days + I(Days^2) + (1 + Days + exp(Days) | Subject),
data = sleepstudy
))
find_terms(m)
}
#> $response
#> [1] "log(Reaction)"
#>
#> $conditional
#> [1] "Days" "I(Days^2)"
#>
#> $random
#> [1] "Days" "exp(Days)" "Subject"
#>