find_terms {insight} | R Documentation |
Find all model terms
Description
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.
Usage
find_terms(x, ...)
## Default S3 method:
find_terms(x, flatten = FALSE, as_term_labels = FALSE, verbose = TRUE, ...)
Arguments
x |
A fitted model. |
... |
Currently not used. |
flatten |
Logical, if |
as_term_labels |
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) -
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
Returns NULL
if no terms could be found (for instance, due to
problems in accessing the formula).
Parameters, Variables, Predictors and Terms
There are four functions that return information about the variables in a
model: find_predictors()
, find_variables()
, find_terms()
and
find_parameters()
. There are some differences between those functions,
which are explained using following model. Note that some, but not all of
those functions return information about the dependent and independent
variables. In this example, we only show the differences for the independent
variables.
model <- lm(mpg ~ factor(gear), data = mtcars)
-
find_terms(model)
returns the model terms, i.e. how the variables were used in the model, e.g. applying transformations likefactor()
,poly()
etc.find_terms()
may return a variable name multiple times in case of multiple transformations. The return value would be"factor(gear)"
. -
find_parameters(model)
returns the names of the model parameters (coefficients). The return value would be"(Intercept)"
,"factor(gear)4"
and"factor(gear)5"
. -
find_variables()
returns the original variable names.find_variables()
returns each variable name only once. The return value would be"gear"
. -
find_predictors()
is comparable tofind_variables()
and also returns the original variable names, but excluded the dependent (response) variables. The return value would be"gear"
.
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
data(sleepstudy, package = "lme4")
m <- suppressWarnings(lme4::lmer(
log(Reaction) ~ Days + I(Days^2) + (1 + Days + exp(Days) | Subject),
data = sleepstudy
))
find_terms(m)
# sometimes, it is necessary to retrieve terms from "term.labels" attribute
m <- lm(mpg ~ hp * (am + cyl), data = mtcars)
find_terms(m, as_term_labels = TRUE)