This function takes a regression model object and returns a formatted table that is publicationready. The function is highly customizable allowing the user to obtain a bespoke summary table of the regression model results. Review the tbl_regression vignette for detailed examples.
tbl_regression(x, ...) # S3 method for default tbl_regression( x, label = NULL, exponentiate = FALSE, include = everything(), show_single_row = NULL, conf.level = NULL, intercept = FALSE, estimate_fun = NULL, pvalue_fun = NULL, tidy_fun = NULL, add_estimate_to_reference_rows = FALSE, show_yesno = NULL, exclude = NULL, ... )
x  Regression model object 

...  Not used 
label  List of formulas specifying variables labels,
e.g. 
exponentiate  Logical indicating whether to exponentiate the
coefficient estimates. Default is 
include  Variables to include in output. Input may be a vector of
quoted variable names, unquoted variable names, or tidyselect select helper
functions. Default is 
show_single_row  By default categorical variables are printed on multiple rows. If a variable is dichotomous (e.g. Yes/No) and you wish to print the regression coefficient on a single row, include the variable name(s) herequoted and unquoted variable name accepted. 
conf.level  Must be strictly greater than 0 and less than 1. Defaults to 0.95, which corresponds to a 95 percent confidence interval. 
intercept  Logical argument indicating whether to include the intercept
in the output. Default is 
estimate_fun  Function to round and format coefficient estimates. Default is style_sigfig when the coefficients are not transformed, and style_ratio when the coefficients have been exponentiated. 
pvalue_fun  Function to round and format pvalues.
Default is style_pvalue.
The function must have a numeric vector input (the numeric, exact pvalue),
and return a string that is the rounded/formatted pvalue (e.g.

tidy_fun  Option to specify a particular tidier function for the
model. Default is to use 
add_estimate_to_reference_rows  add a reference value. Default is FALSE 
show_yesno  DEPRECATED 
exclude  DEPRECATED 
A tbl_regression
object
The default method for tbl_regression()
model summary uses broom::tidy(x)
to perform the initial tidying of the model object. There are, however,
a few models that use modifications.
"parsnip/workflows"
: If the model was prepared using parsnip/workflows,
the original model fit is extracted and the original x=
argument
is replaced with the model fit. This will typically go unnoticed; however,if you've
provided a custom tidier in tidy_fun=
the tidier will be applied to the model
fit object and not the parsnip/workflows object.
"survreg"
: The scale parameter is removed, broom::tidy(x) %>% dplyr::filter(term != "Log(scale)")
"multinom"
: This multinomial outcome is complex, with one line per covariate per outcome (less the reference group)
"gam"
: Uses the internal tidier tidy_gam()
to print both parametric and smooth terms.
"lmerMod"
, "glmerMod"
, "glmmTMB"
, "glmmadmb"
, "stanreg"
, "brmsfit"
: These mixed effects
models use broom.mixed::tidy(x, effects = "fixed")
. Specify tidy_fun = broom.mixed::tidy
to print the random components.
The N reported in the output is the number of observations
in the data frame model.frame(x)
. Depending on the model input, this N
may represent different quantities. In most cases, it is the number of people or
units in your model. Here are some common exceptions.
Survival regression models including time dependent covariates.
Random or mixedeffects regression models with clustered data.
GEE regression models with clustered data.
This list is not exhaustive, and care should be taken for each number reported.
Example 1
Example 2
Example 3
See tbl_regression vignette for detailed examples
Other tbl_regression tools:
add_global_p()
,
add_q()
,
bold_italicize_labels_levels
,
combine_terms()
,
inline_text.tbl_regression()
,
modify
,
tbl_merge()
,
tbl_stack()
Daniel D. Sjoberg
# Example 1  library(survival) tbl_regression_ex1 < coxph(Surv(ttdeath, death) ~ age + marker, trial) %>% tbl_regression(exponentiate = TRUE) # Example 2  tbl_regression_ex2 < glm(response ~ age + grade, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE) # Example 3  suppressMessages(library(lme4)) tbl_regression_ex3 < glmer(am ~ hp + (1  gear), mtcars, family = binomial) %>% tbl_regression(exponentiate = TRUE)