A: Drug X B: Placebo C: Combination
Change from Change from Change from
Parameter Value at Visit Baseline Value at Visit Baseline Value at Visit Baseline
Analysis Visit (N=804) (N=804) (N=670) (N=670) (N=792) (N=792)
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
Alanine Aminotransferase Measurement
BASELINE
n 134 134 132
Mean (SD) 17.74 (9.93) 18.71 (9.83) 19.46 (9.08)
Median 17.46 18.19 18.97
Min - Max 0.00 - 44.06 1.48 - 54.40 0.57 - 39.81
WEEK 1 DAY 8
n 134 134 0 0 132 132
Mean (SD) 16.75 (9.08) -0.99 (13.49) NE (NE) NE (NE) 19.61 (9.27) 0.14 (12.85)
Median 16.02 -1.28 NE NE 19.00 0.06
Min - Max 0.05 - 36.30 -31.31 - 27.89 NE - NE NE - NE 0.91 - 44.75 -32.45 - 38.85
WEEK 2 DAY 15
n 134 134 134 134 132 132
Mean (SD) 17.82 (9.60) 0.08 (14.15) 18.82 (9.73) 0.11 (14.45) 16.55 (8.15) -2.92 (12.64)
Median 15.92 0.28 17.96 -0.93 17.02 -1.11
Min - Max 0.40 - 44.33 -32.89 - 40.55 0.18 - 44.34 -45.93 - 29.85 0.35 - 34.69 -28.36 - 23.98
WEEK 3 DAY 22
n 134 134 134 134 132 132
Mean (SD) 18.37 (9.30) 0.63 (13.85) 17.65 (9.58) -1.06 (13.58) 16.75 (9.54) -2.71 (13.22)
Median 18.11 1.13 17.68 -0.49 15.10 -2.66
Min - Max 0.59 - 41.73 -40.09 - 31.24 0.02 - 38.61 -46.30 - 31.38 0.48 - 39.23 -30.63 - 26.51
WEEK 4 DAY 29
n 134 134 134 134 132 132
Mean (SD) 19.17 (10.95) 1.44 (15.39) 17.22 (10.64) -1.48 (15.20) 17.92 (9.32) -1.54 (12.63)
Median 17.41 0.88 15.88 -2.96 17.71 -1.53
Min - Max 0.93 - 54.24 -32.93 - 46.98 0.39 - 47.96 -41.45 - 43.08 0.25 - 41.27 -30.33 - 27.99
WEEK 5 DAY 36
n 134 134 134 134 132 132
Mean (SD) 19.22 (9.47) 1.48 (14.49) 18.01 (9.92) -0.69 (14.65) 18.51 (9.43) -0.95 (12.92)
Median 19.80 2.31 18.28 1.82 19.26 -2.48
Min - Max 0.01 - 43.42 -40.08 - 30.07 0.11 - 40.64 -47.60 - 26.04 0.02 - 37.46 -29.78 - 25.00
Experimental use!
WebR is a tool allowing you to run R code in the web browser. Modify the code below and click run to see the results. Alternatively, copy the code and click here to open WebR in a new tab.
In order to generate the LBT01 standard tabulation, the adlb dataset may be pre-processed so as to discriminate baseline from follow-up visits.
Code
library(tern)library(dplyr)adsl <- random.cdisc.data::cadsladlb <- random.cdisc.data::cadlb# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.adsl <-df_explicit_na(adsl)adlb <-df_explicit_na(adlb) %>%filter(ANL01FL =="Y")# For illustration purpose, the example focuses on "Alanine Aminotransferase# Measurement" starting from baseline, while excluding visit at week 1 for# subjects who were prescribed a placebo.adlb_f <- adlb %>% dplyr::filter( PARAM =="Alanine Aminotransferase Measurement"&!(ACTARM =="B: Placebo"& AVISIT =="WEEK 1 DAY 8") & AVISIT !="SCREENING" )
library(teal.modules.clinical)## Data reproducible codedata <-teal_data()data <-within(data, { ADSL <- random.cdisc.data::cadsl ADLB <- random.cdisc.data::cadlb# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels. ADSL <-df_explicit_na(ADSL) ADLB <-df_explicit_na(ADLB)})datanames <-c("ADSL", "ADLB")datanames(data) <- datanames
Warning: `datanames<-()` was deprecated in teal.data 0.6.1.
ℹ invalid to use `datanames()<-` or `names()<-` on an object of class
`teal_data`. See ?names.teal_data
shinylive allow you to modify to run shiny application entirely in the web browser. Modify the code below and click re-run the app to see the results. The performance is slighly worse and some of the features (e.g. downloading) might not work at all.
#| '!! shinylive warning !!': |#| shinylive does not work in self-contained HTML documents.#| Please set `embed-resources: false` in your metadata.#| standalone: true#| viewerHeight: 800#| editorHeight: 200#| components: [viewer, editor]#| layout: vertical# -- WEBR HELPERS --options(webr_pkg_repos = c("r-universe" = "https://pharmaverse.r-universe.dev", getOption("webr_pkg_repos")))# -- APP CODE --library(teal.modules.clinical)## Data reproducible codedata <- teal_data()data <- within(data, { ADSL <- random.cdisc.data::cadsl ADLB <- random.cdisc.data::cadlb # Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels. ADSL <- df_explicit_na(ADSL) ADLB <- df_explicit_na(ADLB)})datanames <- c("ADSL", "ADLB")datanames(data) <- datanamesjoin_keys(data) <- default_cdisc_join_keys[datanames]## Reusable Configuration For ModulesADSL <- data[["ADSL"]]ADLB <- data[["ADLB"]]## Setup Appapp <- init( data = data, modules = modules( tm_t_summary_by( label = "Laboratory Test Results and Change from Baseline by Visit", dataname = "ADLB", arm_var = choices_selected( choices = variable_choices(ADSL, c("ARM", "ARMCD")), selected = "ARM" ), by_vars = choices_selected( choices = variable_choices(ADLB, c("PARAM", "AVISIT")), selected = c("AVISIT") ), summarize_vars = choices_selected( choices = variable_choices(ADLB, c("AVAL", "CHG")), selected = c("AVAL", "CHG") ), useNA = "ifany", paramcd = choices_selected( choices = value_choices(ADLB, "PARAMCD", "PARAM"), selected = "ALT" ), parallel_vars = TRUE ) ), filter = teal_slices(teal_slice("ADLB", "AVAL", selected = NULL)))shinyApp(app$ui, app$server)