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, ...)
| x | A fitted model. |
|---|---|
| flatten | Logical, if |
| ... | Currently not used. |
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
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.
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" #>