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.

find_terms(x, flatten = FALSE, ...)

## Arguments

x A fitted model. Logical, if TRUE, the values are returned as character vector, not as list. Duplicated values are removed. Currently not used.

## 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)

• 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)

• dispersion, the name of the dispersion terms

• instruments, the names of instrumental variables

## 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

library(lme4)
data(sleepstudy)
m <- lmer(
log(Reaction) ~ Days + I(Days^2) + (1 + Days + exp(Days) | Subject),
data = sleepstudy
)#> Warning: Model failed to converge with max|grad| = 14.7145 (tol = 0.002, component 1)#> Warning: Model is nearly unidentifiable: very large eigenvalue
#>  - Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio
#>  - Rescale variables?
find_terms(m)#> $response #> [1] "log(Reaction)" #> #>$conditional
#> [1] "Days"      "I(Days^2)"
#>
#> \$random
#> [1] "Days"      "exp(Days)" "Subject"
#>