CFO.simu | R Documentation |
In the CFO, aCFO, rCFO, and pCFO designs for phase I trials, the function is used to conduct one single simulation and find the maximum tolerated dose (MTD).
CFO.simu(design, target, p.true, init.level = 1, ncohort, cohortsize,
prior.para = list(alp.prior = target, bet.prior = 1 - target),
cutoff.eli = 0.95, early.stop = 0.95, seed = NULL)
design |
option for selecting different designs, which can be set as |
target |
the target DLT rate. |
p.true |
the true DLT rates under the different dose levels. |
init.level |
the dose level assigned to the first cohort. The default value |
ncohort |
the total number of cohorts. |
cohortsize |
the number of patients of each cohort. |
prior.para |
the prior parameters for a beta distribution, where set as |
cutoff.eli |
the cutoff to eliminate overly toxic doses for safety. We recommend
the default value of |
early.stop |
the threshold value for early stopping. The default value |
seed |
an integer to be set as the seed of the random number generator for reproducible results. The default value is set to |
The CFO.simu
function returns a list object comprising the following components:
target: the target DLT rate.
MTD: the selected MTD. MTD = 99
indicates that the simulation is terminated due to early stopping.
correct: a binary indicator of whether the recommended dose level matches the correct MTD (1 for yes). The correct MTD is the dose level at which the true DLT rate is closest to the target DLT rate.
npatients: the total number of patients allocated to all dose levels.
ntox: the total number of DLTs observed for all dose levels.
over.doses: a vector indicating whether each dose is overdosed or not (1 for yes).
cohortdose: a vector including the dose level assigned to each cohort.
ptoxic: the percentage of subjects assigned to dose levels with a DLT rate greater than the target.
patientDLT: a vector including the DLT outcome observed for each patient.
sumDLT: the total number of DLT observed.
earlystop: a binary indicator of whether the trial is early stopped (1 for yes).
p_est: the isotonic estimate of the DLT probablity at each dose and associated 95\%
credible interval.
p_est = NA
if all tested doses are overly toxic.
p_overdose: p_overdose: the probability of overdosing defined as Pr(toxicity > \code{target}|data)
.
p_overdose = NA
if all tested doses are overly toxic.
The CFO.simu()
function is designed to conduct a single CFO, aCFO, rCFO or pCFO simulation. If design = 'CFO'
, it corresponds
to the CFO design. If design = 'aCFO'
, it corresponds to the aCFO design. If design = 'rCFO'
, it corresponds to the
rCFO design. If design = 'pCFO'
, it corresponds to the pCFO design.
The early stopping and dose elimination rules are incorporated into designs
to ensure patient safety and benefit. If there is substantial evidence indicating that the current dose level
exhibits excessive toxicity, we exclude the current dose level as well as higher dose levels from the trial. If the lowest dose level is overly toxic, the trial will be terminated
according to the early stopping rule. Upon the predefined maximum sample size is reached or the lowest dose
level is over-toxicity, the experiment is concluded, and the MTD is determined using isotonic regression.
Jialu Fang, Ninghao Zhang, Wenliang Wang, and Guosheng Yin
Jin H, Yin G (2022). CFO: Calibration-free odds design for phase I/II clinical trials.
Statistical Methods in Medical Research, 31(6), 1051-1066.
Fang J, Yin G (2024). Fractional accumulative calibration‐free odds (f‐aCFO) design for delayed toxicity
in phase I clinical trials. Statistics in Medicine, 43(17), 3210-3226.
target <- 0.2; ncohort <- 12; cohortsize <- 3; init.level <- 1
p.true <- c(0.01, 0.07, 0.20, 0.35, 0.50, 0.65, 0.80)
### find the MTD for a single CFO simulation
CFOtrial <- CFO.simu(design = 'CFO', target, p.true, init.level, ncohort, cohortsize, seed = 1)
summary(CFOtrial)
plot(CFOtrial)
# This test may take longer than 5 seconds to run
# It is provided for illustration purposes only
# Users can run this code directly
### find the MTD for a single aCFO simulation
aCFOtrial <- CFO.simu(design = 'aCFO', target, p.true, init.level, ncohort, cohortsize, seed = 1)
summary(aCFOtrial)
plot(aCFOtrial)
### find the MTD for a single rCFO simulation
rCFOtrial <- CFO.simu(design = 'rCFO', target, p.true, init.level, ncohort, cohortsize, seed = 1)
summary(rCFOtrial)
plot(rCFOtrial)
#' ### find the MTD for a single pCFO simulation
pCFOtrial <- CFO.simu(design = 'pCFO', target, p.true, init.level, ncohort, cohortsize, seed = 1)
summary(pCFOtrial)
plot(pCFOtrial)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.