A: Drug X B: Placebo C: Combination
(N=134) (N=134) (N=132)
————————————————————————————————————————————————————————————————————————————————————
Responders 68 73 62
Responders with subsequent event (%) 46 (67.6%) 39 (53.4%) 32 (51.6%)
Earliest contributing event
Death 26 24 16
Disease Progression 20 15 16
Responders without subsequent event (%) 22 (32.4%) 34 (46.6%) 30 (48.4%)
Duration of response (Months)
Median 5.3 6.2 5.3
95% CI (4.6, 5.8) (5.4, 6.3) (4.6, 5.8)
25% and 75%-ile 3.8, 6.3 4.6, 6.4 4.0, 6.1
Range 0.5 to 6.4 0.9 to 6.5 0.6 to 6.6
12 Months duration
Patients remaining at risk NA NA NA
Event Free Rate (%) NA NA NA
95% CI NA NA NA
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.
A: Drug X B: Placebo C: Combination
(N=134) (N=134) (N=132)
——————————————————————————————————————————————————————————————————————————————————————
Responders 68 73 62
Responders with subsequent event (%) 46 (67.6%) 39 (53.4%) 32 (51.6%)
Earliest contributing event
Death 26 24 16
Disease Progression 20 15 16
Responders without subsequent event (%) 22 (32.4%) 34 (46.6%) 30 (48.4%)
Duration of response (Months)
Median 5.3 6.2 5.3
95% CI (4.6, 5.8) (5.4, 6.3) (4.6, 5.8)
25% and 75%-ile 3.8, 6.3 4.6, 6.4 4.0, 6.1
Range 0.5 to 6.4 0.9 to 6.5 0.6 to 6.6
Unstratified Analysis
p-value (log-rank) 0.0223 0.6659
Hazard Ratio 0.60 0.90
95% CI (0.39, 0.93) (0.57, 1.44)
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.
A: Drug X B: Placebo C: Combination
(N=134) (N=134) (N=132)
————————————————————————————————————————————————————————————————————————————————————
Responders 68 73 62
Responders with subsequent event (%) 46 (67.6%) 39 (53.4%) 32 (51.6%)
Earliest contributing event
Death 26 24 16
Disease Progression 20 15 16
Responders without subsequent event (%) 22 (32.4%) 34 (46.6%) 30 (48.4%)
Duration of response (Months)
Median 5.3 6.2 5.3
90% CI (4.6, 5.8) (5.5, 6.3) (4.6, 5.7)
25% and 75%-ile 3.8, 6.3 4.6, 6.4 4.0, 6.1
Range 0.5 to 6.4 0.9 to 6.5 0.6 to 6.6
12 Months duration
Patients remaining at risk NA NA NA
Event Free Rate (%) NA NA NA
97.5% CI NA NA NA
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.
A: Drug X B: Placebo C: Combination
(N=134) (N=134) (N=132)
————————————————————————————————————————————————————————————————————————————————————————————
Responders 68 73 62
Responders with subsequent event (%) 46 (67.6%) 39 (53.4%) 32 (51.6%)
Earliest contributing event
Death 26 24 16
Disease Progression 20 15 16
Responders without subsequent event (%) 22 (32.4%) 34 (46.6%) 30 (48.4%)
Duration of response (Months)
Median 5.3 6.2 5.3
95% CI (4.6, 5.8) (5.4, 6.3) (4.6, 5.8)
25% and 75%-ile 3.8, 6.3 4.6, 6.4 4.0, 6.1
Range 0.5 to 6.4 0.9 to 6.5 0.6 to 6.6
6 Months duration
Patients remaining at risk 10 18 7
Event Free Rate (%) 33.46 50.23 30.56
95% CI (20.88, 46.05) (36.54, 63.92) (13.56, 47.57)
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.
Code
library(tern)library(dplyr)adsl <- random.cdisc.data::cadsladtte <- random.cdisc.data::cadtte# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels.adsl <-df_explicit_na(adsl)adtte <-df_explicit_na(adtte)adtte_f <- adtte %>%filter(PARAMCD =="CRSD"& BMEASIFL =="Y") %>% dplyr::mutate(AVAL =day2month(AVAL),is_event = CNSR ==0,is_not_event = CNSR ==1,EVNT1 =factor(case_when( is_event ==TRUE~"Responders with subsequent event (%)", is_event ==FALSE~"Responders without subsequent event (%)" ),levels =c("Responders with subsequent event (%)", "Responders without subsequent event (%)") ),EVNTDESC =factor(EVNTDESC) )
library(teal.modules.clinical)## Data reproducible codedata <-teal_data()data <-within(data, { ADSL <- random.cdisc.data::cadsl ADTTE <- random.cdisc.data::cadtte# Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels. ADSL <-df_explicit_na(ADSL) ADTTE <-df_explicit_na(ADTTE)})datanames <-c("ADSL", "ADTTE")datanames(data) <- datanamesjoin_keys(data) <- default_cdisc_join_keys[datanames]## Reusable Configuration For ModulesADSL <- data[["ADSL"]]ADTTE <- data[["ADTTE"]]arm_ref_comp <-list(ACTARMCD =list(ref ="ARM B",comp =c("ARM A", "ARM C") ),ARM =list(ref ="B: Placebo",comp =c("A: Drug X", "C: Combination") ))## Setup Appapp <-init(data = data,modules =modules(tm_t_tte(label ="Time To Event Table",dataname ="ADTTE",arm_var =choices_selected(variable_choices(ADSL, c("ARM", "ARMCD", "ACTARMCD")),"ARM" ),arm_ref_comp = arm_ref_comp,paramcd =choices_selected(value_choices(ADTTE, "PARAMCD", "PARAM"),"CRSD" ),strata_var =choices_selected(variable_choices(ADSL, c("SEX", "BMRKR2")),"SEX" ),time_points =choices_selected(c(6, 8), 6),event_desc_var =choices_selected(variable_choices(ADTTE, "EVNTDESC"),"EVNTDESC",fixed =TRUE ) ) ))shinyApp(app$ui, app$server)
Experimental use!
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://insightsengineering.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 ADTTE <- random.cdisc.data::cadtte # Ensure character variables are converted to factors and empty strings and NAs are explicit missing levels. ADSL <- df_explicit_na(ADSL) ADTTE <- df_explicit_na(ADTTE)})datanames <- c("ADSL", "ADTTE")datanames(data) <- datanamesjoin_keys(data) <- default_cdisc_join_keys[datanames]## Reusable Configuration For ModulesADSL <- data[["ADSL"]]ADTTE <- data[["ADTTE"]]arm_ref_comp <- list( ACTARMCD = list( ref = "ARM B", comp = c("ARM A", "ARM C") ), ARM = list( ref = "B: Placebo", comp = c("A: Drug X", "C: Combination") ))## Setup Appapp <- init( data = data, modules = modules( tm_t_tte( label = "Time To Event Table", dataname = "ADTTE", arm_var = choices_selected( variable_choices(ADSL, c("ARM", "ARMCD", "ACTARMCD")), "ARM" ), arm_ref_comp = arm_ref_comp, paramcd = choices_selected( value_choices(ADTTE, "PARAMCD", "PARAM"), "CRSD" ), strata_var = choices_selected( variable_choices(ADSL, c("SEX", "BMRKR2")), "SEX" ), time_points = choices_selected(c(6, 8), 6), event_desc_var = choices_selected( variable_choices(ADTTE, "EVNTDESC"), "EVNTDESC", fixed = TRUE ) ) ))shinyApp(app$ui, app$server)