View source: R/make_decision_trial.R
make_decision_trial | R Documentation |
Given a res_list object, checks the supplied decision criteria and saves the results in the res_list file.
make_decision_trial(
res_list,
which_cohort,
test_strat = 3,
sharing_type = "all",
Bayes_Sup = NULL,
Bayes_Fut = NULL,
Bayes_SA_Sup = NULL,
Bayes_SA_Fut = NULL,
w = 0.5,
P_Sup = NULL,
P_Fut = NULL,
Est_Sup_Fut = NULL,
CI_Sup_Fut = NULL,
interim,
beta_prior = 0.5,
...
)
res_list |
List item containing individual cohort trial results so far in a format used by the other functions in this package |
which_cohort |
Current cohort that should be evaluated |
test_strat |
Testing strategy used; 1 = Combo vs. both monos, 2 = 1 + Add-on Mono vs. Placebo, 3 = 2 + Backbone mono vs. placebo |
sharing_type |
What backbone and placebo data should be used for comparisons; Default is "all". Other options are "concurrent" or "dynamic" or "cohort". |
Bayes_Sup |
List of matrices with rows corresponding to number of multiple Bayesian posterior two-arm combination criteria for superiority |
Bayes_Fut |
List of matrices with rows corresponding to number of multiple Bayesian posterior two-arm combination criteria for futility |
Bayes_SA_Sup |
List of matrices with rows corresponding to number of multiple Bayesian posterior single-arm combination criteria for superiority |
Bayes_SA_Fut |
List of matrices with rows corresponding to number of multiple Bayesian posterior single-arm combination criteria for futility |
w |
If dynamic borrowing, what is the prior choice for w. Default is 0.5. |
P_Sup |
List with sublists corresponding to number of multiple frequentist test-based combination criteria for superiority |
P_Fut |
List with sublists corresponding to number of multiple frequentist test-based combination criteria for futility |
Est_Sup_Fut |
List with sublists corresponding to number of multiple point estimate based combination criteria for superiority and futility |
CI_Sup_Fut |
List with sublists corresponding to number of multiple confidence interval based combination criteria for superiority and futility |
interim |
Is the analysis conducted an interim or a final analysis? |
beta_prior |
Prior parameter for all Beta Distributions. Default is 0.5. |
... |
Further arguments inherited from upper layer functions |
List containing original res_list and results of decision rules
# Example 1
res_list <- list(c(list(decision = rep("none", 2), alloc_ratio = c(1,1,1,1),
n_thresh = c(Inf, 210)),
rep(list(list(rr = NULL, resp_bio = NULL, resp_hist = NULL, n = NULL)), 4)))
names(res_list)[1] <- paste0("Cohort", 1)
names(res_list[[1]])[4:7] <- c("Comb", "Mono", "Back", "Plac")
res_list[[1]][[4]]$rr <- 0.2
res_list[[1]][[5]]$rr <- 0.15
res_list[[1]][[6]]$rr <- 0.15
res_list[[1]][[7]]$rr <- 0.10
r141 <- rbinom(1, 70, prob = res_list[[1]][[4]]$rr)
res_list[[1]][[4]]$resp_bio <- gtools::permute(c(rep(1, r141), rep(0, 70 - r141)))
r151 <- rbinom(1, 70, prob = res_list[[1]][[5]]$rr)
res_list[[1]][[5]]$resp_bio <- gtools::permute(c(rep(1, r151), rep(0, 70 - r151)))
r161 <- rbinom(1, 70, prob = res_list[[1]][[6]]$rr)
res_list[[1]][[6]]$resp_bio <- gtools::permute(c(rep(1, r161), rep(0, 70 - r161)))
r171 <- rbinom(1, 70, prob = res_list[[1]][[7]]$rr)
res_list[[1]][[7]]$resp_bio <- gtools::permute(c(rep(1, r171), rep(0, 70 - r171)))
r142 <- rbinom(1, 70, prob = res_list[[1]][[4]]$rr)
res_list[[1]][[4]]$resp_hist <- gtools::permute(c(rep(1, r142), rep(0, 70 - r142)))
r152 <- rbinom(1, 70, prob = res_list[[1]][[5]]$rr)
res_list[[1]][[5]]$resp_hist <- gtools::permute(c(rep(1, r152), rep(0, 70 - r152)))
r162 <- rbinom(1, 70, prob = res_list[[1]][[6]]$rr)
res_list[[1]][[6]]$resp_hist <- gtools::permute(c(rep(1, r162), rep(0, 70 - r162)))
r172 <- rbinom(1, 70, prob = res_list[[1]][[7]]$rr)
res_list[[1]][[7]]$resp_hist <- gtools::permute(c(rep(1, r172), rep(0, 70 - r172)))
res_list[[1]][[4]]$n <- rep(1, 70)
res_list[[1]][[5]]$n <- rep(1, 70)
res_list[[1]][[6]]$n <- rep(1, 70)
res_list[[1]][[7]]$n <- rep(1, 70)
# Comparison Combo vs Mono
Bayes_Sup1 <- matrix(nrow = 3, ncol = 3)
Bayes_Sup1[1,] <- c(0.00, 0.95, 0.90)
Bayes_Sup1[2,] <- c(0.10, 0.80, 0.75)
Bayes_Sup1[3,] <- c(0.15, 0.50, 1.00)
# Comparison Combo vs Backbone
Bayes_Sup2 <- matrix(nrow = 3, ncol = 3)
Bayes_Sup2[1,] <- c(0.00, 0.95, 0.90)
Bayes_Sup2[2,] <- c(NA, NA, NA)
Bayes_Sup2[3,] <- c(NA, NA, NA)
# Comparison Mono vs Placebo
Bayes_Sup3 <- matrix(nrow = 3, ncol = 3)
Bayes_Sup3[1,] <- c(0.00, 0.95, 0.90)
Bayes_Sup3[2,] <- c(0.10, 0.80, 0.75)
Bayes_Sup3[3,] <- c(NA, NA, NA)
#' # Comparison Backbone vs Placebo
Bayes_Sup4 <- matrix(nrow = 3, ncol = 3)
Bayes_Sup4[1,] <- c(0.00, 0.95, 0.90)
Bayes_Sup4[2,] <- c(0.10, 0.80, 0.75)
Bayes_Sup4[3,] <- c(NA, NA, NA)
Bayes_Sup <- list(list(Bayes_Sup1, Bayes_Sup2, Bayes_Sup3, Bayes_Sup4),
list(Bayes_Sup1, Bayes_Sup2, Bayes_Sup3, Bayes_Sup4))
sharing_type <- "all"
interim <- TRUE
which_cohort <- 1
missing_prob <- 0.5
seed_missing <- 100
make_decision_trial(
res_list = res_list, which_cohort = which_cohort,
interim = interim, missing_prob = missing_prob,
Bayes_Sup = Bayes_Sup, sharing_type = sharing_type,
seed_missing = seed_missing,
)
# Multiple decision rules
# Vergleich Combo vs Mono
Bayes_Fut1 <- matrix(nrow = 1, ncol = 2)
Bayes_Fut1[1,] <- c(NA, NA)
# Vergleich Combo vs Backbone
Bayes_Fut2 <- matrix(nrow = 1, ncol = 2)
Bayes_Fut2[1,] <- c(NA, NA)
# Vergleich Mono vs Placebo
Bayes_Fut3 <- matrix(nrow = 1, ncol = 2)
Bayes_Fut3[1,] <- c(0.00, 0.60)
Bayes_Fut4 <- matrix(nrow = 1, ncol = 2)
Bayes_Fut4[1,] <- c(0.00, 0.60)
Bayes_Fut <- list(list(Bayes_Fut1, Bayes_Fut2, Bayes_Fut3, Bayes_Fut4),
list(Bayes_Fut1, Bayes_Fut2, Bayes_Fut3, Bayes_Fut4))
# Combo
Bayes_SA_Sup1 <- matrix(nrow = 1, ncol = 3)
Bayes_SA_Sup1[1,] <- c(0.20, 0.95, 0.90)
# Mono
Bayes_SA_Sup2 <- matrix(nrow = 1, ncol = 3)
Bayes_SA_Sup2[1,] <- c(0.15, 0.80, 0.75)
# Backbone
Bayes_SA_Sup3 <- matrix(nrow = 1, ncol = 3)
Bayes_SA_Sup3[1,] <- c(0.15, 0.80, 0.75)
# Placebo
Bayes_SA_Sup4 <- matrix(nrow = 1, ncol = 3)
Bayes_SA_Sup4[1,] <- c(0.15, 0.80, 0.75)
Bayes_SA_Sup <- list(list(Bayes_SA_Sup1, Bayes_SA_Sup2, Bayes_SA_Sup3, Bayes_SA_Sup4),
list(Bayes_SA_Sup1, Bayes_SA_Sup2, Bayes_SA_Sup3, Bayes_SA_Sup4))
## Combo
Bayes_SA_Fut1 <- matrix(nrow = 1, ncol = 2)
Bayes_SA_Fut1[1,] <- c(0.20, 0.50)
# Mono
Bayes_SA_Fut2 <- matrix(nrow = 1, ncol = 2)
Bayes_SA_Fut2[1,] <- c(0.15, 0.50)
# Backbone
Bayes_SA_Fut3 <- matrix(nrow = 1, ncol = 2)
Bayes_SA_Fut3[1,] <- c(0.15, 0.50)
# Placebo
Bayes_SA_Fut4 <- matrix(nrow = 1, ncol = 2)
Bayes_SA_Fut4[1,] <- c(0.15, 0.50)
Bayes_SA_Fut <- list(list(Bayes_SA_Fut1, Bayes_SA_Fut2, Bayes_SA_Fut3, Bayes_SA_Fut4),
list(Bayes_SA_Fut1, Bayes_SA_Fut2, Bayes_SA_Fut3, Bayes_SA_Fut4))
# Comparison Combo vs Mono
P_Sup1 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_sup = 0.025, p_prom = 0.10, p_adj = "B"))
# Comparison Combo vs Backbone
P_Sup2 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_sup = 0.025, p_prom = 0.10, p_adj = "B"))
# Comparison Mono vs Placebo
P_Sup3 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_sup = 0.050, p_prom = 0.10, p_adj = "B"))
P_Sup4 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_sup = 0.050, p_prom = 0.10, p_adj = "B"))
P_Sup <- list(list(P_Sup1, P_Sup2, P_Sup3, P_Sup4),
list(P_Sup1, P_Sup2, P_Sup3, P_Sup4))
# Comparison Combo vs Mono
P_Fut1 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_fut = 0.5, p_adj = "none"))
# Comparison Combo vs Backbone
P_Fut2 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_fut = 0.5, p_adj = "none"))
# Comparison Mono vs Placebo
P_Fut3 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_fut = 0.5, p_adj = "none"))
# Comparison Backbone Placebo
P_Fut4 <- list(list(
testfun = function(x) stats::prop.test(x, alternative = "less", correct = FALSE),
p_fut = 0.5, p_adj = "none"))
P_Fut <- list(list(P_Fut1, P_Fut2, P_Fut3, P_Fut4),
list(P_Fut1, P_Fut2, P_Fut3, P_Fut4))
# Comparison Combo vs Mono
Est_Sup_Fut1 <- list(list(est = "AR", p_hat_sup = 0.6, p_hat_fut = 0.1, p_hat_prom = 0.5))
# Comparison Combo vs Backbone
Est_Sup_Fut2 <- list(list(est = "RR", p_hat_sup = 1.25, p_hat_fut = 0.75, p_hat_prom = 1.5))
# Comparison Mono vs Placebo
Est_Sup_Fut3 <- list(list(est = "OR", p_hat_sup = 1.50, p_hat_fut = 0.75, p_hat_prom = 2))
Est_Sup_Fut4 <- list(list(est = "OR", p_hat_sup = 1.50, p_hat_fut = 0.75, p_hat_prom = 2))
Est_Sup_Fut <- list(list(Est_Sup_Fut1, Est_Sup_Fut2, Est_Sup_Fut3, Est_Sup_Fut4),
list(Est_Sup_Fut1, Est_Sup_Fut2, Est_Sup_Fut3, Est_Sup_Fut4))
# Comparison Combo vs Mono
CI_Sup_Fut1 <- list(list(est = "AR", ci = 0.95, p_hat_lower_sup = 0.35,
p_hat_upper_fut = 0.25, p_hat_lower_prom = 0.3))
# Comparison Combo vs Backbone
CI_Sup_Fut2 <- list(list(est = "RR", ci = 0.95, p_hat_lower_sup = 1.10,
p_hat_upper_fut = 1.10, p_hat_lower_prom = 1.05))
# Comparison Mono vs Placebo
CI_Sup_Fut3 <- list(list(est = "OR", ci = 0.95, p_hat_lower_sup = 1.20,
p_hat_upper_fut = 1.20, p_hat_lower_prom = 1.10))
CI_Sup_Fut4 <- list(list(est = "OR", ci = 0.95, p_hat_lower_sup = 1.20,
p_hat_upper_fut = 1.20, p_hat_lower_prom = 1.10))
CI_Sup_Fut <- list(list(CI_Sup_Fut1, CI_Sup_Fut2, CI_Sup_Fut3, CI_Sup_Fut4),
list(CI_Sup_Fut1, CI_Sup_Fut2, CI_Sup_Fut3, CI_Sup_Fut4))
make_decision_trial(res_list = res_list, which_cohort = which_cohort, interim = interim,
Bayes_Sup = Bayes_Sup, sharing_type = sharing_type,
Bayes_Fut = Bayes_Fut, Bayes_SA_Sup = Bayes_SA_Sup, Bayes_SA_Fut = Bayes_SA_Fut, P_Sup = P_Sup,
P_Fut = P_Fut, Est_Sup_Fut = Est_Sup_Fut, CI_Sup_Fut = CI_Sup_Fut
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.