Learn R Programming

CFO (version 2.1.0)

rCFO.next: Determination of the dose level for next cohort in the randomized calibration-free odds (rCFO) design for phase I trials

Description

In the rCFO design for phase I trials, the function is used to determine the dose movement based on the toxicity outcomes of the enrolled cohorts.

Usage

rCFO.next(target, cys, cns, currdose, 
       prior.para = list(alp.prior = target, bet.prior = 1 - target),
       cutoff.eli = 0.95, early.stop = 0.95, seed)

Value

The rCFO.next() function returns a list object comprising the following elements:

  • target: the target DLT rate.

  • cys: the cumulative counts of DLTs observed at the left, current, and right dose levels.

  • cns: the cumulative counts of patients treated at the left, current, and right dose levels.

  • decision: the decision in the CFO design, where left, stay, and right represent the movement directions, and stop indicates stopping the experiment.

  • currdose: the current dose level.

  • nextdose: the recommended dose level for the next cohort. nextdose = 99 indicates that the trial is terminated due to early stopping.

  • overtox: the situation regarding which positions experience over-toxicity. The dose level indicated by overtox and all the dose levels above experience over-toxicity. overtox = NA signifies that the occurrence of over-toxicity did not happen.

  • toxprob: the expected toxicity probability, \(Pr(p_k > \phi | x_k, m_k)\), at the left, current, and right dose levels, where \(p_k\), \(x_k\), and \(m_k\) is the dose-limiting toxicity (DLT) rate, the numbers of observed DLTs, and the numbers of patients at dose level \(k\). NA indicates that there are no patients at the corresponding dose level.

Arguments

target

the target DLT rate.

cys

the cumulative numbers of DLTs observed at the left, current, and right dose levels.

cns

the cumulative numbers of patients treated at the left, current, and right dose levels.

currdose

the current dose level.

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 be set as the seed of the random number generator for reproducible results. The default value is set to NULL.

Author

Jialu Fang, Ninghao Zhang, Wenliang Wang, and Guosheng Yin

Details

The original CFO design makes deterministic dose movement by constructing two odds ratios, \(\pi_L =O_C/ \overline{O}_{L}\) and \(\pi_R =\overline{O}_{C}/ O_R\), and comparing them against thresholds \(\gamma_L\) and \(\gamma_R\), respectively. The rCFO design introduces a randomization scheme, normalizes odds ratios, \(\pi_L\), and \(\pi_R\) into probabilities, and constructs probabilities for dose escalation, de-escalation, and staying at the same dose.

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.

Examples

Run this code
## determine the dose level for the next cohort of new patients
cys <- c(0, 1, 0); cns <- c(3, 6, 0)
decision <- rCFO.next(target=0.2, cys=cys, cns=cns, currdose=3)
summary(decision)

cys <- c(NA, 3, 0); cns <- c(NA, 3, 0)
decision <- rCFO.next(target=0.2, cys=cys, cns=cns, currdose=1)
summary(decision)

cys <- c(0, 3, NA); cns <- c(3, 3, NA)
decision <- rCFO.next(target=0.2, cys=cys, cns=cns, currdose=7)
summary(decision)

Run the code above in your browser using DataLab