rCFO.next: Determination of the dose level for next cohort in the...

View source: R/rCFO.next.R

rCFO.nextR Documentation

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)

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.

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.

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.

Note

When the current dose level is the lowest or highest (i.e., at the boundary), the parts in cys and cns where there is no data are filled with NA.
The dose level indicated by overtox and all the dose levels above experience over-toxicity, and these dose levels will be eliminated.

Author(s)

Jialu Fang, Ninghao Zhang, 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.

Examples

## 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)


CFO documentation built on April 4, 2025, 2:34 a.m.

Related to rCFO.next in CFO...