library(gtsummary)
library(cards)
tbl_summary(
trial, by = trt,
include = c(marker, age, grade),
type = age ~ "continuous2",
statistic = all_continuous2() ~ c("{mean} ({sd})", "{median} ({p25}, {p75})"),
missing = "no"
)
Characteristic |
Drug A |
Drug B |
---|---|---|
Marker Level (ng/mL) | 0.84 (0.23, 1.60) | 0.52 (0.18, 1.21) |
Age | ||
Mean (SD) | 47 (15) | 47 (14) |
Median (Q1, Q3) | 46 (37, 60) | 48 (39, 56) |
Grade | ||
I | 35 (36%) | 33 (32%) |
II | 32 (33%) | 36 (35%) |
III | 31 (32%) | 33 (32%) |
1
Median (Q1, Q3); n (%) |
# build the ARD with the {cards} package
<-
ard_for_table ard_stack(
trial,ard_continuous(variables = c(marker, age)),
ard_categorical(variables = grade),
.by = trt,
.missing = TRUE, # we use missing information in gtsummary
.attributes = TRUE, # we also use attributes like column labels
.total_n = TRUE # add total N to the ARD
)
# then convert it to a table with `tbl_ard_summary()`
|>
ard_for_table tbl_ard_summary(
by = trt,
type = age ~ "continuous2",
statistic = all_continuous2() ~ c("{mean} ({sd})", "{median} ({p25}, {p75})")
)
Characteristic |
Drug A 1 |
Drug B 1 |
---|---|---|
Marker Level (ng/mL) | 0.8 (0.2, 1.6) | 0.5 (0.2, 1.2) |
Age | ||
Mean (SD) | 47.0 (14.7) | 47.4 (14.0) |
Median (Q1, Q3) | 46.0 (37.0, 60.0) | 48.0 (39.0, 56.0) |
Grade | ||
I | 35 (35.7%) | 33 (32.4%) |
II | 32 (32.7%) | 36 (35.3%) |
III | 31 (31.6%) | 33 (32.4%) |
1
Median (Q1, Q3); n (%) |