library(dplyr)
# The direction variable, GRADDR, is based on metadata
adlb <- tern_ex_adlb %>%
mutate(
GRADDR = case_when(
PARAMCD == "ALT" ~ "B",
PARAMCD == "CRP" ~ "L",
PARAMCD == "IGA" ~ "H"
)
) %>%
filter(SAFFL == "Y" & ONTRTFL == "Y" & GRADDR != "")
df <- h_adlb_worsen(
adlb,
worst_flag_low = c("WGRLOFL" = "Y"),
worst_flag_high = c("WGRHIFL" = "Y"),
direction_var = "GRADDR"
)
basic_table() %>%
split_cols_by("ARMCD") %>%
add_colcounts() %>%
split_rows_by("PARAMCD") %>%
split_rows_by("GRADDR") %>%
count_abnormal_lab_worsen_by_baseline(
var = "ATOXGR",
variables = list(
id = "USUBJID",
baseline_var = "BTOXGR",
direction_var = "GRADDR"
)
) %>%
append_topleft("Direction of Abnormality") %>%
build_table(df = df, alt_counts_df = tern_ex_adsl)
Run the code above in your browser using DataLab