Including variables used only in an interaction.

model_list_variables(
  model,
  labels = NULL,
  only_variable = FALSE,
  add_var_type = FALSE
)

# S3 method for default
model_list_variables(
  model,
  labels = NULL,
  only_variable = FALSE,
  add_var_type = FALSE
)

# S3 method for lavaan
model_list_variables(
  model,
  labels = NULL,
  only_variable = FALSE,
  add_var_type = FALSE
)

# S3 method for logitr
model_list_variables(
  model,
  labels = NULL,
  only_variable = FALSE,
  add_var_type = FALSE
)

Arguments

model

a model object

labels

an optional named list or named vector of custom variable labels

only_variable

if TRUE, will return only "variable" column

add_var_type

if TRUE, add var_nlevels and var_type columns

Value

A tibble with three columns:

  • variable: the corresponding variable

  • var_class: class of the variable (cf. stats::.MFclass())

  • label_attr: variable label defined in the original data frame with the label attribute (cf. labelled::var_label())

  • var_label: a variable label (by priority, labels if defined, label_attr if available, otherwise variable)

If add_var_type = TRUE:

  • var_type: "continuous", "dichotomous" (categorical variable with 2 levels), "categorical" (categorical variable with 3 or more levels), "intercept" or "interaction"

  • var_nlevels: number of original levels for categorical variables

Examples

if (FALSE) { # interactive()
if (.assert_package("gtsummary", boolean = TRUE)) {
  Titanic %>%
    dplyr::as_tibble() %>%
    dplyr::mutate(Survived = factor(Survived, c("No", "Yes"))) %>%
    glm(
      Survived ~ Class + Age:Sex,
      data = ., weights = .$n,
      family = binomial
    ) %>%
    model_list_variables()

  iris %>%
    lm(
      Sepal.Length ~ poly(Sepal.Width, 2) + Species,
      data = .,
      contrasts = list(Species = contr.sum)
    ) %>%
    model_list_variables()

  glm(
    response ~ poly(age, 3) + stage + grade * trt,
    na.omit(gtsummary::trial),
    family = binomial,
  ) %>%
    model_list_variables()
}
}