Skip to contents

Add model statistics returned from broom::glance(). Statistics can either be appended to the table (add_glance_table()), or added as a table source note (add_glance_source_note()).

Usage

add_glance_table(
  x,
  include = everything(),
  label = NULL,
  fmt_fun = list(everything() ~ label_style_sigfig(digits = 3), any_of("p.value") ~
    label_style_pvalue(digits = 1), c(where(is.integer), starts_with("df")) ~
    label_style_number()),
  glance_fun = broom::glance
)

add_glance_source_note(
  x,
  include = everything(),
  label = NULL,
  fmt_fun = list(everything() ~ label_style_sigfig(digits = 3), any_of("p.value") ~
    label_style_pvalue(digits = 1), c(where(is.integer), starts_with("df")) ~
    label_style_number()),
  glance_fun = broom::glance,
  text_interpret = c("md", "html"),
  sep1 = " = ",
  sep2 = "; "
)

Arguments

x

(tbl_regression)
a 'tbl_regression' object

include

(tidy-select)
names of statistics to include in output. Must be column names of the tibble returned by broom::glance() or from the glance_fun argument. The include argument can also be used to specify the order the statistics appear in the table.

label

(formula-list-selector)
specifies statistic labels, e.g. list(r.squared = "R2", p.value = "P")

fmt_fun

(formula-list-selector)
Specifies the the functions used to format/round the glance statistics. The default is to round the number of observations and degrees of freedom to the nearest integer, p-values are styled with style_pvalue() and the remaining statistics are styled with style_sigfig(x, digits = 3)

glance_fun

function that returns model statistics. Default is broom::glance() for most model obejcts, and broom::glance(mice::pool()) for MICE 'mira' models. Custom functions must return a single row tibble.

text_interpret

String indicates whether source note text will be interpreted with gt::md() or gt::html(). Must be "md" (default) or "html".

sep1

Separator between statistic name and statistic. Default is " = ", e.g. "R2 = 0.456"

sep2

Separator between statistics. Default is "; "

Value

gtsummary table

Tips

When combining add_glance_table() with tbl_merge(), the ordering of the model terms and the glance statistics may become jumbled. To re-order the rows with glance statistics on bottom, use the script below:

tbl_merge(list(tbl1, tbl2)) %>%
  modify_table_body(~.x %>% arrange(row_type == "glance_statistic"))

Examples

mod <- lm(age ~ marker + grade, trial) |> tbl_regression()

# Example 1 ----------------------------------
mod |>
  add_glance_table(
    label = list(sigma = "\U03C3"),
    include = c(r.squared, AIC, sigma)
  )
Characteristic Beta 95% CI1 p-value
Marker Level (ng/mL) -0.04 -2.6, 2.5 >0.9
Grade


    I
    II 0.64 -4.7, 6.0 0.8
    III 2.4 -2.8, 7.6 0.4
0.005

AIC 1,473

σ 14.6

1 CI = Confidence Interval
# Example 2 ---------------------------------- mod |> add_glance_source_note( label = list(sigma = "\U03C3"), include = c(r.squared, AIC, sigma) )
Characteristic Beta 95% CI1 p-value
Marker Level (ng/mL) -0.04 -2.6, 2.5 >0.9
Grade


    I
    II 0.64 -4.7, 6.0 0.8
    III 2.4 -2.8, 7.6 0.4
R² = 0.005; AIC = 1,473; σ = 14.6
1 CI = Confidence Interval