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 'TITE-CFO', 'TITE-aCFO', 'fCFO', 'f-aCFO', 'bCFO', and 'b-aCFO'. Specifically, 'bCFO' refers to the benchmark CFO design, and 'b-aCFO' denotes the benchmark aCFO design.

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 init.level is 1.

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 tte.para representing the proportion of DLTs occurring within the first half of the assessment window.

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 accrual.dist = 'fix', it corresponds to all patients in each cohort arriving simultaneously at a given accrual rate. When accrual.dist = 'unif', it corresponds to a uniform distribution, and when accrual.dist = 'exp', it corresponds to an exponential distribution.

prior.para

the prior parameters for a beta distribution, where set as list(alp.prior = target, bet.prior = 1 - target) by default, alp.prior and bet.prior represent the parameters of the prior distribution for the true DLT rate at any dose level. This prior distribution is specified as Beta(alpha.prior, beta.prior).

cutoff.eli

the cutoff to eliminate overly toxic doses for safety. We recommend the default value of cutoff.eli = 0.95 for general use.

early.stop

the threshold value for early stopping. The default value early.stop = 0.95 generally works well.

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:

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)

[Package CFO version 1.3.1 Index]