get.oc.obd.kb {Keyboard} | R Documentation |
Generate Operating Characteristics to Find the Optimal Biological Dose
Description
This function generates operating characteristics to find the optimal biological dose (OBD).
Usage
get.oc.obd.kb(
toxicity.low,
toxicity.moderate,
toxicity.high,
efficacy.low,
efficacy.moderate,
efficacy.high,
target.toxicity,
target.efficacy,
ncohort = 10,
cohortsize = 3,
n.early = 100,
startdose = 1,
p.true,
q.true,
ntrial = 1000,
seed = 6,
p1 = 0.15,
p2 = 0.4,
q1 = 0.3,
q2 = 0.6,
cutoff.eli.toxicity = 0.95,
cutoff.eli.efficacy = 0.3,
w1.toxicity = 0.33,
w2.toxicity = 1.09,
indicator = target.toxicity
)
Arguments
toxicity.low |
The upper boundary for the low toxicity interval. |
toxicity.moderate |
The upper boundary for the moderate toxicity interval. |
toxicity.high |
The upper boundary for the high toxicity interval. |
efficacy.low |
The upper boundary for the low efficacy interval. |
efficacy.moderate |
The upper boundary for the moderate efficacy interval. |
efficacy.high |
The upper boundary for the high efficacy interval. |
target.toxicity |
The target DLT rate. |
target.efficacy |
The target efficacy rate. |
ncohort |
The total number of cohorts. |
cohortsize |
The number of patients in the cohort. |
n.early |
The early stopping parameter. If the number of patients treated at
the current dose reaches |
startdose |
The starting dose level. |
p.true |
A vector containing the true toxicity probabilities of the investigational dose levels. |
q.true |
A vector containing the true efficacy probabilities of the investigational dose levels. |
ntrial |
The total number of trials to be simulated. |
seed |
The random seed for simulation. |
p1 |
The cutoff lower limit for safety utility function 1, described in the Details section. |
p2 |
The cutoff upper limit for safety utility function 1, described in the Details section. |
q1 |
The cutoff lower limit for efficacy utility function 1, described in the Details section. |
q2 |
The cutoff upper limit for efficacy utility function 1, described in the Details section. |
cutoff.eli.toxicity |
The cutoff value to eliminate a dose with unacceptable high toxicity for safety. The default value is 0.95. |
cutoff.eli.efficacy |
The cutoff value for the futility rule, the acceptable lowest efficacy. The default value is 0.30. |
w1.toxicity |
The weight for toxicity utility function 2 and 3,described in the Details section. |
w2.toxicity |
The weight for toxicity utility function 3, described in the Details section. |
indicator |
The indicator cutoff value for utility function 3, described in the Details section. |
Details
Large trials are simulated to characterize the operating characteristics of the Keyboard design under the prespecified true toxicity probabilities and true efficacy probabilities of the investigational doses. The dose assignment follows the rules described in the function get.decision.obd.kb()
.
The following stopping rules are built in the Keyboard design:
Stop the trial if the lowest dose is eliminated from the trial due to high unacceptable toxicity.
Stop the trial if the number of patients treated at the current dose exceeds
n.earlystop
.
Value
get.oc.obd.kb()
returns the operating characteristics of the Keyboard design as a list, including:
the selection percentage at each dose level using utility function 1 (
$selpercent1
),
the selection percentage at each dose level using utility function 2 (
$selpercent2
),
the selection percentage at each dose level using utility function 3 (
$selpercent3
),
the number of patients treated at each dose level (
$npatients
),
the number of dose-limiting toxicities (DLTs) observed at each dose level (
$ntox
),
the number of responses observed at each dose level (
$neff
),
the average number of DLTs (
$totaltox
),
the average number of responses (
$totaleff
),
the average number of patients (
$totaln
),
the percentage of early stopping without selecting the OBD using utility function 1 (
$percentstop1
),
the percentage of early stopping without selecting the OBD using utility function 2 (
$percentstop2
),
the percentage of early stopping without selecting the OBD using utility function 3 (
$percentstop3
),
data.frame (
$simu.setup
) containing simulation parameters, such as target, p.true, etc.
Author(s)
Xiaomeng Yuan, Chen Li, Hongying Sun, Li Tang and Haitao Pan
References
Li DH, Whitmore JB, Guo W, Ji Y. Toxicity and efficacy probability interval design for phase I adoptive cell therapy dose-finding clinical trials. Clinical Cancer Research. 2017; 23:13-20. https://clincancerres.aacrjournals.org/content/23/1/13.long
Liu S, Johnson VE. A robust Bayesian dose-finding design for phase I/II clinical trials. Biostatistics. 2016; 17(2):249-63. https://academic.oup.com/biostatistics/article/17/2/249/1744018
Zhou Y, Lee JJ, Yuan Y. A utility-based Bayesian optimal interval (U-BOIN) phase I/II design to identify the optimal biological dose for targeted and immune therapies. Statistics in Medicine. 2019; 38:S5299-5316. https://onlinelibrary.wiley.com/doi/epdf/10.1002/sim.8361
See Also
Other single-agent phase I/II functions:
get.decision.obd.kb()
,
get.decision.obd2.kb()
,
get.oc.obd2.kb()
,
select.obd.kb()
Examples
toxicity.low <- 0.15
toxicity.moderate <- 0.25
toxicity.high <- 0.35
efficacy.low <- 0.25
efficacy.moderate <- 0.45
efficacy.high <- 0.65
target.toxicity <- 0.30
target.efficacy <- 0.40
p.true <-c(0.08,0.30,0.60,0.80)
q.true <- c(0.25,0.40,0.25,0.50)
oc.obd.kb <- get.oc.obd.kb(toxicity.low = toxicity.low,
toxicity.moderate= toxicity.moderate,
toxicity.high = toxicity.high,
efficacy.low = efficacy.low,
efficacy.moderate = efficacy.moderate,
efficacy.high = efficacy.high,
target.toxicity=target.toxicity,
target.efficacy= target.efficacy,
p.true= p.true, q.true= q.true)
oc.obd.kb
summary_kb(oc.obd.kb)
plot_kb(oc.obd.kb)
plot_kb(oc.obd.kb$selpercent1)
plot_kb(oc.obd.kb$selpercent2)
plot_kb(oc.obd.kb$selpercent3)
plot_kb(oc.obd.kb$npatients)
plot_kb(oc.obd.kb$ntox)
plot_kb(oc.obd.kb$neff)