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, ...)



a tbl_regression object


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


Option string argument labeling the combined rows


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


Additional arguments passed to stats::anova


tbl_regression object

Example Output

Example 1

See also


Daniel D. Sjoberg


# \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")`
# }