Adds labels describing the summary statistics presented for each variable in the tbl_summary / tbl_svysummary table.
add_stat_label(x, location = NULL, label = NULL)
Object with class tbl_summary
from the tbl_summary function
or with class tbl_svysummary
from the tbl_svysummary function
location where statistic label will be included.
"row"
(the default) to add the statistic label to the variable label row,
and "column"
adds a column with the statistic label.
a list of formulas or a single formula updating the statistic
label, e.g. label = all_categorical() ~ "No. (%)"
A tbl_summary
or tbl_svysummary
object
When using add_stat_label(location='row')
with subsequent tbl_merge()
,
it's important to have somewhat of an understanding of the underlying
structure of the gtsummary table.
add_stat_label(location='row')
works by adding a new column called
"stat_label"
to x$table_body
. The "label"
and "stat_label"
columns are merged when the gtsummary table is printed.
The tbl_merge()
function merges on the "label"
column (among others),
which is typically the first column you see in a gtsummary table.
Therefore, when you want to merge a table that has run add_stat_label(location='row')
you need to match the "label"
column values before the "stat_column"
is merged with it.
For example, the following two tables merge properly
tbl1 <- trial %>% select(age, grade) %>% tbl_summary() %>% add_stat_label()
tbl2 <- lm(marker ~ age + grade, trial) %>% tbl_regression()
tbl_merge(list(tbl1, tbl2))
Example 1
Example 2
Example 3
Review list, formula, and selector syntax used throughout gtsummary
Other tbl_summary tools:
add_n.tbl_summary()
,
add_overall()
,
add_p.tbl_summary()
,
add_q()
,
bold_italicize_labels_levels
,
inline_text.tbl_summary()
,
inline_text.tbl_survfit()
,
modify
,
separate_p_footnotes()
,
tbl_custom_summary()
,
tbl_merge()
,
tbl_split()
,
tbl_stack()
,
tbl_strata()
,
tbl_summary()
Other tbl_svysummary tools:
add_n.tbl_summary()
,
add_overall()
,
add_p.tbl_svysummary()
,
add_q()
,
modify
,
separate_p_footnotes()
,
tbl_merge()
,
tbl_split()
,
tbl_stack()
,
tbl_strata()
,
tbl_svysummary()
# \donttest{
tbl <- trial %>%
dplyr::select(trt, age, grade, response) %>%
tbl_summary(by = trt)
# Example 1 ----------------------------------
# Add statistic presented to the variable label row
add_stat_label_ex1 <-
tbl %>%
add_stat_label(
# update default statistic label for continuous variables
label = all_continuous() ~ "med. (iqr)"
)
# Example 2 ----------------------------------
add_stat_label_ex2 <-
tbl %>%
add_stat_label(
# add a new column with statistic labels
location = "column"
)
# Example 3 ----------------------------------
add_stat_label_ex3 <-
trial %>%
select(age, grade, trt) %>%
tbl_summary(
by = trt,
type = all_continuous() ~ "continuous2",
statistic = all_continuous() ~ c("{mean} ({sd})", "{min} - {max}"),
) %>%
add_stat_label(label = age ~ c("Mean (SD)", "Min - Max"))
# }