maturing
Build a stratified gtsummary table. Any gtsummary table that accepts
a data frame as its first argument can be stratified.
In tbl_strata()
, the stratified or subset data frame is passed to the
function in .tbl_fun=
, e.g. purrr::map(data, .tbl_fun)
.
In tbl_strata2()
, both the stratified data frame and the strata level
are passed to .tbl_fun=
, e.g. purrr::map2(data, strata, .tbl_fun)
tbl_strata(
data,
strata,
.tbl_fun,
...,
.sep = ", ",
.combine_with = c("tbl_merge", "tbl_stack"),
.combine_args = NULL,
.header = ifelse(.combine_with == "tbl_merge", "**{strata}**", "{strata}"),
.stack_group_header = NULL,
.quiet = NULL
)
tbl_strata2(
data,
strata,
.tbl_fun,
...,
.sep = ", ",
.combine_with = c("tbl_merge", "tbl_stack"),
.combine_args = NULL,
.header = ifelse(.combine_with == "tbl_merge", "**{strata}**", "{strata}"),
.stack_group_header = NULL,
.quiet = TRUE
)
(data.frame
, survey.design
)
a data frame or survey object
(tidy-select
)
character vector or tidy-selector of columns in data to stratify results by
(function
)
A function or formula. If a function, it is used as is.
If a formula, e.g. ~ .x %>% tbl_summary() %>% add_p()
, it is converted to a function.
The stratified data frame is passed to this function.
Additional arguments passed on to the .tbl_fun
function.
(string
)
when more than one stratifying variable is passed, this string is
used to separate the levels in the spanning header. Default is ", "
(string
)
One of c("tbl_merge", "tbl_stack")
. Names the function
used to combine the stratified tables.
(named list
)
named list of arguments that are passed to function specified in .combine_with
(string
)
String indicating the headers that will be placed.
Default is "**{strata}**"
when .combine_with = "tbl_merge"
and
"{strata}"
when .combine_with = "tbl_stack"
. Items placed in
curly brackets will be evaluated according to glue::glue()
syntax.
- strata
stratum levels
- n
N within stratum
- N
Overall N
The evaluated value of .header
is also available within tbl_strata2(.tbl_fun)
The number of digits continuous variables are rounded to is determined
separately within each stratum of the data frame. Set the digits=
argument to ensure continuous variables are rounded to the same number
of decimal places.
If some levels of a categorical variable are unobserved within a stratum, convert the variable to a factor to ensure all levels appear in each stratum's summary table.
# Example 1 ----------------------------------
trial |>
select(age, grade, stage, trt) |>
mutate(grade = paste("Grade", grade)) |>
tbl_strata(
strata = grade,
.tbl_fun =
~ .x |>
tbl_summary(by = trt, missing = "no") |>
add_n(),
.header = "**{strata}**, N = {n}"
)
N
Drug A
N = 351
Drug B
N = 331
N
Drug A
N = 321
Drug B
N = 361
N
Drug A
N = 311
Drug B
N = 331
1 Median (Q1, Q3); n (%)
# Example 2 ----------------------------------
trial |>
select(grade, response) |>
mutate(grade = paste("Grade", grade)) |>
tbl_strata2(
strata = grade,
.tbl_fun =
~ .x %>%
tbl_summary(
label = list(response = .y),
missing = "no",
statistic = response ~ "{p}%"
) |>
add_ci(pattern = "{stat} ({ci})") |>
modify_header(stat_0 = "**Rate (95% CI)**") |>
modify_footnote(stat_0 = NA),
.combine_with = "tbl_stack",
.combine_args = list(group_header = NULL)
) |>
modify_caption("**Response Rate by Grade**")
Response Rate by Grade
Characteristic
Rate (95% CI)1
1 CI = Confidence Interval