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.