tbl_hierarchical {gtsummary} | R Documentation |
Hierarchical Table
Description
Use these functions to generate hierarchical tables.
-
tbl_hierarchical()
: Calculates rates of events (e.g. adverse events) utilizing thedenominator
andid
arguments to identify the rows indata
to include in each rate calculation. Ifvariables
contains more than one variable and the last variable invariables
is an ordered factor, then rates of events by highest level will be calculated. -
tbl_hierarchical_count()
: Calculates counts of events utilizing all rows for each tabulation.
Usage
tbl_hierarchical(
data,
variables,
id,
denominator,
by = NULL,
include = everything(),
statistic = everything() ~ "{n} ({p}%)",
overall_row = FALSE,
label = NULL,
digits = NULL
)
tbl_hierarchical_count(
data,
variables,
denominator = NULL,
by = NULL,
include = everything(),
overall_row = FALSE,
statistic = everything() ~ "{n}",
label = NULL,
digits = NULL
)
Arguments
data |
( |
variables |
( |
id |
( |
denominator |
( |
by |
( |
include |
( |
statistic |
( |
overall_row |
(scalar |
label |
( |
digits |
( |
Value
a gtsummary table of class "tbl_hierarchical"
(for tbl_hierarchical()
) or "tbl_hierarchical_count"
(for tbl_hierarchical_count()
).
Overall Row
An overall row can be added to the table as the first row by specifying overall_row = TRUE
. Assuming that each row
in data
corresponds to one event record, this row will count the overall number of events recorded when used in
tbl_hierarchical_count()
, or the overall number of patients recorded with any event when used in
tbl_hierarchical()
.
A label for this overall row can be specified by passing an '..ard_hierarchical_overall..'
element in label
.
Similarly, the rounding for statistics in the overall row can be modified using the digits
argument,
again referencing the '..ard_hierarchical_overall..'
name.
Examples
ADAE_subset <- cards::ADAE |>
dplyr::filter(
AESOC %in% unique(cards::ADAE$AESOC)[1:5],
AETERM %in% unique(cards::ADAE$AETERM)[1:5]
)
# Example 1 - Event Rates --------------------
tbl_hierarchical(
data = ADAE_subset,
variables = c(AESOC, AETERM),
by = TRTA,
denominator = cards::ADSL |> mutate(TRTA = ARM),
id = USUBJID,
digits = everything() ~ list(p = 1),
overall_row = TRUE,
label = list(..ard_hierarchical_overall.. = "Any Adverse Event")
)
# Example 2 - Rates by Highest Severity ------
tbl_hierarchical(
data = ADAE_subset |> mutate(AESEV = factor(AESEV, ordered = TRUE)),
variables = c(AESOC, AESEV),
by = TRTA,
id = USUBJID,
denominator = cards::ADSL |> mutate(TRTA = ARM),
include = AESEV,
label = list(AESEV = "Highest Severity")
)
# Example 3 - Event Counts -------------------
tbl_hierarchical_count(
data = ADAE_subset,
variables = c(AESOC, AETERM, AESEV),
by = TRTA,
overall_row = TRUE,
label = list(..ard_hierarchical_overall.. = "Total Number of AEs")
)