| getGoDecisions | R Documentation |
This function applies decision rules to the analyzed trials.
The resulting decision_list can be further processed with
getGoProbabilities or
continueRecruitment.
getGoDecisions( analyses_list, cohort_names, evidence_levels, boundary_rules, overall_min_gos = 1 )
analyses_list |
An object of class |
cohort_names |
A vector of strings with the names of the cohorts, e.g.
|
evidence_levels |
A vector of numerics in |
boundary_rules |
A quote of a vector for the boundary rules,
|
overall_min_gos |
A positive integer for the minimum number of
cohort-wise go decisions required for an overall go decision
Default: |
This function applies decision rules of the following type to the outcomes of (simulated) basket trials with binary endpoints:
P(p_j|data > p_{B,j}) > γ,
where p_j|data is the posterior response rate of cohort j, p_{B,j} is the response rate boundary of cohort j, and γ is the evidence level. This rule can equivalently be written as
q_{1-γ,j} > p_{B,j},
where q_{1-γ,j} is the 1-γ-quantile of the posterior response rate of cohort j.
The arguments cohort_names and evidence_levels determine
q_{1-γ,j}, where the entries of cohort_names and
evidence_levels are matched corresponding to their order.
The argument boundary_rules provides the rules that describe what
should happen with the posterior quantiles q_{1-γ,j}.
The first posterior quantile determined by the first items of
cohort_names and evidence_levels is referred to as x[1],
the second as x[2], etc.
Using the quote(c(...))-notation,
many different rules can be implemented.
A decision rule for only one cohort would be
boundary_rules = quote(c(x[1] > 0.1)),
cohort_names = 'p_1', and evidence_levels = 0.5,
which implements the rule P(p_1|data > 0.1) > 0.5.
The number of decisions to be taken must match the number of cohorts, i.e.
for each cohort there must be a decision rule in the vector separated by a comma.
See the example section for a decision rule for more than one cohort and
the example of negateGoDecisions
for the implementation of a more complex decision rule.
An object of class decision_list
Stephan Wojciekowski
performAnalyses
getGoProbabilities
negateGoDecisions
continueRecruitment
scenarios_list <- simulateScenarios(
n_subjects_list = list(c(10, 20, 30)),
response_rates_list = list(c(0.1, 0.1, 0.9)),
n_trials = 10)
analyses_list <- performAnalyses(
scenario_list = scenarios_list,
target_rates = rep(0.5, 3),
n_mcmc_iterations = 100)
## Decision rule for more than one cohort
decisions_list <- getGoDecisions(
analyses_list = analyses_list,
cohort_names = c("p_1", "p_2", "p_3"),
evidence_levels = c(0.5, 0.5, 0.8),
boundary_rules = quote(c(x[1] > 0.7, x[2] < 0.3, x[3] < 0.6)))
## Decision rule for only two of the three cohorts
decisions_list <- getGoDecisions(
analyses_list = analyses_list,
cohort_names = c("p_1", "p_3"),
evidence_levels = c(0.5, 0.8),
boundary_rules = quote(c(x[1] > 0.7, TRUE, x[3] < 0.6)),
overall_min_gos = 2L)
## Different decision rules for each method
## This works the same way for the different evidence_levels
decisions_list <- getGoDecisions(
analyses_list = analyses_list,
cohort_names = c("p_1", "p_2", "p_3"),
evidence_levels = c(0.5, 0.5, 0.8),
boundary_rules = list(quote(c(x[1] > 0.1, x[2] < 0.5, x[3] < 0.1)), # "berry"
quote(c(x[1] > 0.2, x[2] < 0.4, x[3] < 0.2)), # "exnex"
quote(c(x[1] > 0.3, x[2] < 0.3, x[3] < 0.3)), # "exnex_adj"
quote(c(x[1] > 0.4, x[2] < 0.2, x[3] < 0.4)), # "pooled"
quote(c(x[1] > 0.5, x[2] < 0.1, x[3] < 0.5)))) # "stratified"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.