The function combines terms from a regression model, and replaces the terms with a single row in the output table. The p-value is calculated using stats::anova().

combine_terms(x, formula_update, label = NULL, quiet = NULL, ...)

Arguments

x

a tbl_regression object

formula_update

formula update passed to the stats::update. This updated formula is used to construct a reduced model, and is subsequently passed to stats::anova() to calculate the p-value for the group of removed terms. See the stats::update help file for proper syntax. function's formula.= argument

label

Option string argument labeling the combined rows

quiet

Logical indicating whether to print messages in console. Default is FALSE

...

Additional arguments passed to stats::anova

Value

tbl_regression object

Example Output

Example 1

image of rendered example table

Author

Daniel D. Sjoberg

Examples

# \donttest{
# Example 1 ----------------------------------
# Logistic Regression Example, LRT p-value
combine_terms_ex1 <-
  glm(
    response ~ marker + I(marker^2) + grade,
    trial[c("response", "marker", "grade")] %>% na.omit(), # keep complete cases only!
    family = binomial
  ) %>%
  tbl_regression(label = grade ~ "Grade", exponentiate = TRUE) %>%
  # collapse non-linear terms to a single row in output using anova
  combine_terms(
    formula_update = . ~ . - marker - I(marker^2),
    label = "Marker (non-linear terms)",
    test = "LRT"
  )
#> combine_terms: Creating a reduced model with
#> `reduced_model <- stats::update(x$model_obj, formula. = . ~ . - marker - I(marker^2))`
#> combine_terms: Calculating p-value comparing full and reduced models with
#> `stats::anova(x$model_obj, reduced_model, test = "LRT")`
# }