Code
result <- basic_table(show_colcounts = TRUE) %>%
split_cols_by("ARMCD") %>%
split_rows_by("PARAMCD", label_pos = "topleft", split_label = obj_label(df$PARAMCD)) %>%
split_rows_by("GRADDR", label_pos = "topleft", split_label = obj_label(df$GRADDR)) %>%
count_abnormal_lab_worsen_by_baseline(
var = "ATOXGR",
variables = list(
id = "USUBJID",
baseline_var = "BTOXGR",
direction_var = "GRADDR"
)
) %>%
append_topleft(" Highest NCI CTCAE Grade") %>%
build_table(df = df, alt_counts_df = adsl)
result
Parameter Code
Direction of Abnormality ARM A ARM B ARM C
Highest NCI CTCAE Grade (N=134) (N=134) (N=132)
——————————————————————————————————————————————————————————————————————————————
ALT
Low
1 11/113 (9.7%) 9/117 (7.7%) 15/123 (12.2%)
2 15/119 (12.6%) 23/123 (18.7%) 16/127 (12.6%)
3 15/127 (11.8%) 22/128 (17.2%) 14/128 (10.9%)
4 17/130 (13.1%) 10/131 (7.6%) 18/130 (13.8%)
Any 58/130 (44.6%) 64/131 (48.9%) 63/130 (48.5%)
CRP
High
1 18/114 (15.8%) 18/112 (16.1%) 19/115 (16.5%)
2 20/122 (16.4%) 13/122 (10.7%) 14/122 (11.5%)
3 23/124 (18.5%) 14/128 (10.9%) 20/129 (15.5%)
4 12/131 (9.2%) 20/132 (15.2%) 11/132 (8.3%)
Any 73/131 (55.7%) 65/132 (49.2%) 64/132 (48.5%)
Low
1 20/119 (16.8%) 18/113 (15.9%) 11/112 (9.8%)
2 24/122 (19.7%) 21/118 (17.8%) 17/121 (14%)
3 26/127 (20.5%) 20/127 (15.7%) 22/123 (17.9%)
4 10/131 (7.6%) 16/132 (12.1%) 21/130 (16.2%)
Any 80/131 (61.1%) 75/132 (56.8%) 71/130 (54.6%)
IGA
High
1 18/119 (15.1%) 11/116 (9.5%) 15/113 (13.3%)
2 15/124 (12.1%) 23/120 (19.2%) 19/115 (16.5%)
3 21/128 (16.4%) 21/124 (16.9%) 20/120 (16.7%)
4 12/132 (9.1%) 12/129 (9.3%) 9/131 (6.9%)
Any 66/132 (50%) 67/129 (51.9%) 63/131 (48.1%)