adsl <- r2rtf::r2rtf_adsl |>
filter(TRT01P %in% c("Placebo", "Xanomeline High Dose")) |>
mutate(TRT01P = factor(TRT01P,
levels = c("Placebo", "Xanomeline High Dose"),
labels = c("Control", "Experimental")),
TRT01A = factor(TRT01A,
levels = c("Placebo", "Xanomeline High Dose"),
labels = c("Control", "Experimental")),
RACE = stringr::str_to_sentence(RACE))
adlb <- boxly_adlb |>
filter(TRTA %in% c("Placebo", "Xanomeline High Dose")) |>
mutate(TRTA = factor(TRTA,
levels = c("Placebo", "Xanomeline High Dose"),
labels = c("Control", "Experimental"))) |>
rename(TRT01A = TRTA)
meta <- meta_adam(population = adsl,
observation = adlb) |>
define_plan(plan = plan(analysis = "lab_boxplot",
population = "apat",
observation = "wk12",
parameter = "alp;alt;bili;sodium;urate")) |>
define_population(name = "apat",
group = "TRT01A",
subset = SAFFL == "Y",
label = "APaT Population") |>
define_observation(name = "wk12",
group = "TRT01A",
# when var only has 1 variable selected, the code is correct
# var = "PARAM",
# when var has more than 2 variables selected, the code gives error in prepare_boxly
var = c("PARAM", "USUBJID"),
subset = SAFFL == "Y",
label = "") |>
define_analysis(name = "lab_boxplot",
label = "Interactive Box Plot",
x = "AVISITN",
y = "CHG") |>
define_parameter(name = "alp",
label = "Alanine Aminotransferase (U/L)",
subset = PARAM == "Alanine Aminotransferase (U/L)") |>
define_parameter(name = "alt",
label = "Alkaline Phosphatase (U/L)",
subset = PARAM == "Alkaline Phosphatase (U/L)") |>
define_parameter(name = "bili",
label = "Bilirubin (umol/L)",
subset = PARAM == "Bilirubin (umol/L)") |>
define_parameter(name = "sodium",
label = "Sodium (mmol/L)",
subset = PARAM == "Sodium (mmol/L)") |>
define_parameter(name = "urate",
label = "Urate (umol/L)",
subset = PARAM == "Urate (umol/L)") |>
meta_build()
meta |>
prepare_boxly(population = "apat",
observation = "wk12",
analysis = "lab_boxplot",
filter_var = "PARAM",
hover_var_outlier = c("USUBJID",
metalite::collect_adam_mapping(meta, meta$plan$analysis)$y
)
) |>
boxly()
The following code provide a minimal sufficient example for debuging: