Laboratory Test Results and Change from Baseline by Visit
Roche LBT01
table
Roche
parallel-group
change from baseline
Code
# Load libraries & data -------------------------------------
library(gtsummary)
library(dplyr)
library(crane)
adsl <- random.cdisc.data::cadsl
adlb <- random.cdisc.data::cadlb
# Pre-processing --------------------------------------------
data <- adlb |>
dplyr::filter(
SAFFL == "Y", # safety population
AVISITN >= 0 # only keep valid visits
) |>
# retain the "WEEK *" portion of the visit
dplyr::mutate(
AVISIT = if_else(
stringr::str_detect(AVISIT, "WEEK"),
stringr::str_extract(AVISIT, "WEEK \\d+"),
AVISIT
) |> trimws()
)
Code
tbl <- data |>
filter(
AVISIT %in% c("BASELINE", "WEEK 5") # specify visits to display in table
) |>
# apply tbl_baseline_chg function to each level of PARAM in the data
gtsummary::tbl_strata_nested_stack(
strata = PARAM,
~ .x |>
crane::tbl_baseline_chg(
baseline_level = "BASELINE",
by = "TRT01A",
denominator = adsl
)
) |>
# bold lab test labels
gtsummary::modify_bold(columns = label, rows = tbl_indent_id1 > 0L) |>
# update header labels
gtsummary::modify_header(label = "**Lab \n\U00A0\U00A0\U00A0\U00A0 Visit**") |>
gtsummary::modify_spanning_header(gtsummary::all_stat_cols() ~ "**{level}** \nN = {n}")
tbl
$`PARAM="Alanine Aminotransferase Measurement"`
$`PARAM="Alanine Aminotransferase Measurement"`$tbl_baseline_chg
{cards} data frame: 109 x 12
group1 group1_level variable variable_level context stat_name stat_label stat fmt_fun warning error gts_column
1 TRT01A A: Drug X AVAL BASELINE summary mean Mean 17.738 <fn> stat_1
2 TRT01A A: Drug X AVAL BASELINE summary sd SD 9.926 <fn> stat_1
3 TRT01A A: Drug X AVAL BASELINE summary median Median 17.464 <fn> stat_1
4 TRT01A A: Drug X AVAL BASELINE summary min Min 0.002 <fn> stat_1
5 TRT01A A: Drug X AVAL BASELINE summary max Max 44.064 <fn> stat_1
6 TRT01A A: Drug X AVAL WEEK 5 summary mean Mean 19.215 <fn> stat_1
7 TRT01A A: Drug X AVAL WEEK 5 summary sd SD 9.471 <fn> stat_1
8 TRT01A A: Drug X AVAL WEEK 5 summary median Median 19.796 <fn> stat_1
9 TRT01A A: Drug X AVAL WEEK 5 summary min Min 0.007 <fn> stat_1
10 TRT01A A: Drug X AVAL WEEK 5 summary max Max 43.424 <fn> stat_1
ℹ 99 more rows
ℹ Use `print(n = ...)` to see more rows
$`PARAM="C-Reactive Protein Measurement"`
$`PARAM="C-Reactive Protein Measurement"`$tbl_baseline_chg
{cards} data frame: 109 x 12
group1 group1_level variable variable_level context stat_name stat_label stat fmt_fun warning error gts_column
1 TRT01A A: Drug X AVAL BASELINE summary mean Mean 9.056 <fn> stat_1
2 TRT01A A: Drug X AVAL BASELINE summary sd SD 0.93 <fn> stat_1
3 TRT01A A: Drug X AVAL BASELINE summary median Median 9.075 <fn> stat_1
4 TRT01A A: Drug X AVAL BASELINE summary min Min 6.215 <fn> stat_1
5 TRT01A A: Drug X AVAL BASELINE summary max Max 11.871 <fn> stat_1
6 TRT01A A: Drug X AVAL WEEK 5 summary mean Mean 9.041 <fn> stat_1
7 TRT01A A: Drug X AVAL WEEK 5 summary sd SD 1.04 <fn> stat_1
8 TRT01A A: Drug X AVAL WEEK 5 summary median Median 8.976 <fn> stat_1
9 TRT01A A: Drug X AVAL WEEK 5 summary min Min 6.922 <fn> stat_1
10 TRT01A A: Drug X AVAL WEEK 5 summary max Max 12.119 <fn> stat_1
ℹ 99 more rows
ℹ Use `print(n = ...)` to see more rows
$`PARAM="Immunoglobulin A Measurement"`
$`PARAM="Immunoglobulin A Measurement"`$tbl_baseline_chg
{cards} data frame: 109 x 12
group1 group1_level variable variable_level context stat_name stat_label stat fmt_fun warning error gts_column
1 TRT01A A: Drug X AVAL BASELINE summary mean Mean 2.888 <fn> stat_1
2 TRT01A A: Drug X AVAL BASELINE summary sd SD 0.084 <fn> stat_1
3 TRT01A A: Drug X AVAL BASELINE summary median Median 2.888 <fn> stat_1
4 TRT01A A: Drug X AVAL BASELINE summary min Min 2.704 <fn> stat_1
5 TRT01A A: Drug X AVAL BASELINE summary max Max 3.122 <fn> stat_1
6 TRT01A A: Drug X AVAL WEEK 5 summary mean Mean 2.907 <fn> stat_1
7 TRT01A A: Drug X AVAL WEEK 5 summary sd SD 0.09 <fn> stat_1
8 TRT01A A: Drug X AVAL WEEK 5 summary median Median 2.913 <fn> stat_1
9 TRT01A A: Drug X AVAL WEEK 5 summary min Min 2.595 <fn> stat_1
10 TRT01A A: Drug X AVAL WEEK 5 summary max Max 3.085 <fn> stat_1
ℹ 99 more rows
ℹ Use `print(n = ...)` to see more rows