
Operating Characteristics of the BOIN Drug-Combination Design Across Scenarios
Source:R/sim_comb_boin_multi.R
sim_comb_boin_multi.RdRun sim_comb_boin under a list of matrices of true DLT
probabilities that share the same design, and collect the main results into
one table.
Usage
sim_comb_boin_multi(
target,
scenarios,
n_cohort,
cohort_size,
n_trials = 10000,
start_dose = c(1, 1),
n_earlystop = 18,
p_saf = NULL,
p_tox = NULL,
cutoff_eli = 0.95,
extrasafe = FALSE,
offset = 0.05,
titration = FALSE,
bound_mtd = FALSE,
overdose_cutoff = NULL,
keep_trials = FALSE,
verbose = FALSE,
seed = 123
)Arguments
- target
Numeric scalar. Target DLT probability.
- scenarios
A list of scenarios. Each element is a list with a
nameand ap_truematrix, or a plain matrix of true DLT probabilities in which case the list names are used as scenario names. Every matrix must have the same numbers of rows (levels of drug A) and columns (levels of drug B).- n_cohort
Integer scalar. Number of cohorts in a trial.
- cohort_size
Integer scalar or vector. Number of patients per cohort.
- n_trials
Integer scalar. Number of trials per scenario. Defaults to 10000.
- start_dose
Integer vector of length two. Dose levels of drug A and drug B for the first cohort. Defaults to
c(1, 1).- n_earlystop
Integer scalar. Early stopping sample size at the current combination. Defaults to 18.
- p_saf
Numeric scalar. Highest DLT probability deemed subtherapeutic. Defaults to
0.6 * target.- p_tox
Numeric scalar. Lowest DLT probability deemed overly toxic. Defaults to
1.4 * target.- cutoff_eli
Numeric scalar. Posterior probability cutoff for eliminating a combination. Defaults to 0.95.
- extrasafe
Logical scalar. Apply the stricter safety stopping rule at the lowest combination.
- offset
Numeric scalar between 0 and 0.5. Relaxation of
cutoff_elifor the safety stopping rule. Defaults to 0.05.- titration
Logical scalar. Treat one patient per combination until the first DLT.
- bound_mtd
Logical scalar. Require the isotonic estimate at the selected combination to be below the de-escalation boundary.
- overdose_cutoff
Numeric scalar or
NULL. Combinations whose true DLT probability exceeds this value count as overdoses. Defaults toNULL, which usestarget.- keep_trials
Logical scalar. Keep the trial by trial data of every scenario.
- verbose
Logical scalar. Report progress while the simulations run.
- seed
Integer scalar or
NULL. Random seed, applied to every scenario, so that a scenario simulated here matches the same scenario simulated on its own withsim_comb_boin.
Value
An object of class comb_boin_oc_multi, which is a list with components
- results
Named list of
comb_boin_ocobjects, one per scenario.- summary_table
Data frame with one row per scenario: the true MTD combinations (those closest to
target), the percentage of trials selecting one of them, the percentage of patients treated at them, the percentage of trials without an MTD, the percentage of trials selecting a combination aboveoverdose_cutoff, the percentage of patients treated above it, and the average numbers of patients and DLTs.- scenario_names
Character vector of scenario names.
- n_rows
Number of dose levels of drug A.
- n_cols
Number of dose levels of drug B.
- call
The matched call.
Examples
scenarios <- list(
"Two MTD combinations" = matrix(c(0.05, 0.10, 0.20,
0.10, 0.20, 0.30,
0.20, 0.30, 0.45), 3, byrow = TRUE),
"All toxic" = matrix(c(0.40, 0.50, 0.60,
0.50, 0.60, 0.70,
0.60, 0.70, 0.80), 3, byrow = TRUE)
)
oc <- sim_comb_boin_multi(
target = 0.30,
scenarios = scenarios,
n_cohort = 12,
cohort_size = 3,
n_trials = 200,
seed = 123
)
oc
#> BOIN drug-combination operating characteristics across 2 scenarios
#> target DLT rate : 0.3
#> dose levels : 3 of drug A, 3 of drug B
#> trials each : 200
#> max sample size : 36
#> overdose cutoff : 0.3
#>
#> Scenario True MTD MTD selected (%) Patients at MTD (%)
#> Two MTD combinations A3B2, A2B3 57.0 33.1
#> All toxic A1B1 60.5 76.9
#> No MTD (%) Above cutoff selected (%) Patients above cutoff (%) Patients DLTs
#> 0.0 11.5 11.9 34.7 8.1
#> 34.5 65.5 100.0 19.0 8.0
# The full results of one scenario
oc$results[["All toxic"]]
#> BOIN drug-combination operating characteristics
#> target DLT rate : 0.3
#> dose levels : 3 of drug A, 3 of drug B
#> trials : 200
#> cohorts : 12 of size 3
#> max sample size : 36
#> lambda_e / _d : 0.2365 / 0.3585
#>
#> Item Drug A B1 B2 B3
#> True DLT rate (%) A1 40.0 50.0 60.0
#> A2 50.0 60.0 70.0
#> A3 60.0 70.0 80.0
#> MTD selected (%) A1 60.5 2.0 0.0
#> A2 3.0 0.0 0.0
#> A3 0.0 0.0 0.0
#> Patients treated A1 14.6 2.2 0.1
#> A2 1.8 0.2 0.0
#> A3 0.1 0.0 0.0
#> Patients with DLT A1 5.7 1.1 0.0
#> A2 0.9 0.1 0.0
#> A3 0.1 0.0 0.0
#>
#> No MTD selected : 34.5%
#> Average number of patients : 19
#> Average number of DLTs : 8
#>
#> True MTD (closest to the target) : A1B1
#> Selected as the MTD : 60.5%
#> Patients treated there : 76.9%
#>
#> Combinations above a true DLT rate of 0.3: 9 of 9
#> Patients treated there : 100%
#> Trials treating any patient there : 100%
#> Trials treating over 60% there : 31.5%
#> Trials treating over 80% there : 17.5%
#> Trials selecting an MTD there : 65.5%