lateonset.simu {CFO} | R Documentation |
Conduct one simulation using the calibration-free odds type (CFO-type) design with late-onset toxicity.
Description
The function is used to conduct one single simulation and find the maximum tolerated dose (MTD) for the CFO-type designs with late-onset toxicities, specifically, including time-to-event CFO (TITE-CFO) design, fractional CFO (fCFO) design, benchmark CFO design, time-to-event accumulative CFO (TITE-aCFO) design, fractional accumulative CFO (f-aCFO) design and benchmark aCFO design.
Usage
lateonset.simu(design, target, p.true, init.level = 1, ncohort, cohortsize,
assess.window, tte.para, accrual.rate, accrual.dist,
prior.para = list(alp.prior = target, bet.prior = 1 - target),
cutoff.eli = 0.95, early.stop = 0.95, seed = NULL)
Arguments
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. |
assess.window |
the maximal assessment window size. |
tte.para |
the parameter related with the distribution of the time to DLT events. The time to DLT is sampled from a Weibull
distribution, with |
accrual.rate |
the accrual.rate rate, i.e., the number of patients accrued per unit time. |
accrual.dist |
the distribution of the arrival times of patients. When |
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 set as the seed of the random number generator for reproducible results. The default value is set to NULL. |
Value
The lateonset.simu()
function returns a list object comprising the following components:
target: the target DLT rate.
MTD: the selected MTD.
MTD = 99
indicates that this trial is terminated due to early stopping.correct: a binary indicator of whether the recommended dose level matches the target DLT rate (1 for yes).
npatients: the total number of patients allocated to all dose levels
ntox: the total number of DLTs observed for all dose levels.
npercent: the percentage of subjects assigned to the target DLT rate.
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).
totaltime: the duration of the trial.
entertimes: the time that each participant enters the trial.
DLT.times: the time to DLT for each subject in the trial. If no DLT occurs for a certain subject,
DLT.times
is 0.
Note
The early stopping and dose elimination rules are incorporated into the design to ensure patient safety and benefit.
Author(s)
Jialu Fang, Wenliang Wang, and Guosheng Yin
References
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.
Jin H, Yin G (2023). Time‐to‐event calibration‐free odds design: A robust efficient design for
phase I trials with late‐onset outcomes. Pharmaceutical Statistics. 22(5), 773–783.
Yin G, Zheng S, Xu J (2013). Fractional dose-finding methods with late-onset toxicity in
phase I clinical trials. Journal of Biopharmaceutical Statistics, 23(4), 856-870.
Fang J, Yin G (2024). Fractional accumulative calibration‐free odds (f‐aCFO) design for delayed toxicity
in phase I clinical trials. Statistics in Medicine.
Examples
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)
assess.window <- 3; accrual.rate <- 2; tte.para <- 0.5; accrual.dist <- 'unif'
## find the MTD for a single TITE-CFO simulation
TITECFOtrial <- lateonset.simu (design = 'TITE-CFO', target, p.true, init.level,
ncohort, cohortsize, assess.window, tte.para, accrual.rate, accrual.dist, seed = 1)
summary(TITECFOtrial)
plot(TITECFOtrial)
## find the MTD for a single TITE-aCFO simulation
TITEaCFOtrial <- lateonset.simu (design = 'TITE-aCFO', target, p.true, init.level,
ncohort, cohortsize, assess.window, tte.para, accrual.rate, accrual.dist, seed = 1)
summary(TITEaCFOtrial)
plot(TITEaCFOtrial)
## find the MTD for a single fCFO simulation
fCFOtrial <- lateonset.simu (design = 'fCFO', target, p.true, init.level,
ncohort, cohortsize, assess.window, tte.para, accrual.rate, accrual.dist, seed = 1)
summary(fCFOtrial)
plot(fCFOtrial)
## find the MTD for a single f-aCFO simulation
faCFOtrial <- lateonset.simu (design = 'f-aCFO', target, p.true, init.level,
ncohort, cohortsize, assess.window, tte.para, accrual.rate, accrual.dist, seed = 1)
summary(faCFOtrial)
plot(faCFOtrial)