CFO.oc {CFO}R Documentation

Generate operating characteristics of sigle-drug trials in multiple simulations

Description

This function is used to perform multiple simulations for single-drug trials and obtain relevant operating characteristics.

Usage

CFO.oc(nsimu = 5000, design, target, p.true, init.level = 1, ncohort, cohortsize,
       assess.window = NA, tte.para = NA, accrual.rate = NA, accrual.dist = NA, 
       prior.para = list(alp.prior = target, bet.prior = 1 - target),
       cutoff.eli = 0.95, early.stop = 0.95, seeds = NULL)

Arguments

nsimu

the total number of trials to be simulated. The default value is 5000.

design

option for selecting different designs, which can be set as 'CFO', 'aCFO', '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. NA should be assigned if the design without late-oneset outcomes.

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. NA should be assigned if the design without late-oneset outcomes.

accrual.rate

the accrual rate, i.e., the number of patients accrued per unit time. NA should be assigned if the design without late-onset outcomes.

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. NA should be assigned if the design without late-oneset outcomes.

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.

seeds

A vector of random seeds for each simulation, for example, seeds = 1:nsimu (default is NULL).

Value

The CFO.oc() function returns basic setup of ($simu.setup) and the operating characteristics of the design:

Note

The operating characteristics are generated by simulating multiple single-drug trials under the pre-specified true toxicity probabilities of the investigational doses. The choice of which design to execute is determined by setting the design argument. Some time-related arguments (assess.window, accrual.rate, tte.para, and accrual.dist) need to be set as values only when running a design that can handle late-onset toxicities; otherwise, they default to NA.
Additionally, in the example, we set nsimu = 5 for testing time considerations. In reality, nsimu is typically set to 5000 to ensure the accuracy of the results.

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.

Examples

## setting
nsimu <- 5; 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)
prior.para = list(alp.prior = target, bet.prior = 1 - target)
assess.window <- 3; accrual.rate <- 2; tte.para <- 0.5; accrual.dist <- 'unif'


## get the operating characteristics for 5 simulations using the f-aCFO design
faCFOoc <- CFO.oc (nsimu, design='f-aCFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(faCFOoc)
plot(faCFOoc)


# This test may take longer than 5 seconds to run
# It is provided for illustration purposes only
# Users can run this code directly

## get the operating characteristics for 5 simulations using the CFO design
CFOoc <- CFO.oc (nsimu, design = 'CFO', target, p.true, init.level, ncohort, cohortsize,
         assess.window = NA, tte.para = NA, accrual.rate = NA, accrual.dist = NA, seeds = 1:nsimu)
summary(CFOoc)
plot(CFOoc)

## get the operating characteristics for 5 simulations using the aCFO design
aCFOoc <- CFO.oc (nsimu, design = 'aCFO', target, p.true, init.level, ncohort, cohortsize,
       assess.window = NA, tte.para = NA, accrual.rate = NA, accrual.dist = NA, seeds = 1:nsimu)
summary(aCFOoc)
plot(aCFOoc)
## get the operating characteristics for 5 simulations using the TITE-CFO design
TITECFOoc <- CFO.oc (nsimu, design = 'TITE-CFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(TITECFOoc)
plot(TITECFOoc)
## get the operating characteristics for 5 simulations using the TITE-aCFO design
TITEaCFOoc <- CFO.oc (nsimu, design = 'TITE-aCFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(TITEaCFOoc)
plot(TITEaCFOoc)
## get the operating characteristics for 5 simulations using the fCFO design
fCFOoc <- CFO.oc (nsimu, design = 'fCFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(fCFOoc)
plot(fCFOoc)
## get the operating characteristics for 5 simulations using the bCFO design
bCFOoc <- CFO.oc (nsimu, design = 'bCFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(bCFOoc)
plot(bCFOoc)
## get the operating characteristics for 5 simulations using the b-aCFO design
baCFOoc <- CFO.oc (nsimu, design = 'b-aCFO', target, p.true, init.level, ncohort, cohortsize,
        assess.window, tte.para, accrual.rate, accrual.dist, seeds = 1:nsimu)
summary(baCFOoc)
plot(baCFOoc)


[Package CFO version 1.1.1 Index]