CFOeff.next | R Documentation |
In the CFO design for phase I/II trials, the function is used to determine the dose movement based on the toxicity outcomes and efficacy outcomes of the enrolled cohorts.
CFOeff.next(target, axs, ays, ans, currdose,
prior.para=list(alp.prior = target, bet.prior = 1 - target,
alp.prior.eff = 0.5, bet.prior.eff = 0.5),
cutoff.eli=0.95, early.stop=0.95, effearly.stop = 0.9, mineff)
target |
the target DLT rate. |
axs |
the cumulative counts of efficacy outcomes at all dose levels. |
ays |
the cumulative counts of DLTs observed at all dose levels. |
ans |
the cumulative counts of patients treated at all dose levels. |
currdose |
the current dose level. |
prior.para |
the prior parameters for two beta distributions, 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 due to overly toxic. The default value |
effearly.stop |
the threshold value for early stopping due to low efficacy. The trial would be terminated
early if |
mineff |
the lowest acceptable efficacy rate. |
The CFO design for phase I/II trials will determine admissible set A_n
through the dose escalation rules for the MTD. The current dose is set as
d_n
. If the decision is to de-escalate the dose, the set A_n
will be \{1,\dots,d_n-1\}
. If the decision is to stay at the
current dose, then the admissible set A_n
will be \{1,\dots,d_n\}
. If the decision is to escalate the dose, then A_n
will be
\{1,\dots,d_n+1\}
. The dose level d_{n+1}
for the next cohort will be selected from A_n
by using the rule:
d_{n+1} = argmax_{k\in A_n}Pr(q_k = max_{j\in A_n}\{q_j\}| D_n)
where D_n
and q_k
are the current data and the
efficacy probability for dose level k
.
The CFOeff.next()
function returns a list object comprising the following elements:
target: the target DLT rate.
axs: the cumulative counts of efficacy outcomes at all dose levels.
ays: the cumulative counts of DLTs observed at all dose levels.
ans: the cumulative counts of patients treated at all dose levels.
decision: the decision in the CFO design, where de-escalation
, stay
, and escalation
represent the
movement directions of the dose level, stop_for_tox
indicates stopping the experiment because the lowest dose level
is overly toxic and stop_for_low_eff
indicates that all dose level in the admissible set shows low efficacy.
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)
, for doses in admissible set,
where p_k
, x_k
, and m_k
are the dose-limiting toxicity (DLT) rate, the
numbers of observed DLTs, and the numbers of patients at dose level k
.
effprob: the empirical probability of Pr(q_k=max_{j\in A_n}\{q_j\}|D_n)
for doses in admissible set,
where q_k
is efficacy probability at dose level k
. A_n
is the admissible set determined through
the dose escalation rules for the MTD and D_n
is the current cumulative dataset.
admset: the admissible set A_n
. The dose level for the next cohort will be selected from A_n
.
class: the phase of the trial.
Jialu Fang, Ninghao Zhang, Wenliang Wang, and Guosheng Yin
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.
axs = c(3, 1, 7, 11, 26); ays = c(0, 0, 0, 0, 6); ans = c(6, 3, 12, 17, 36)
target <- 0.4
decision <- CFOeff.next(target,axs,ays,ans,currdose = 3, mineff = 0.3)
summary(decision)
#early stop for overly toxic
axs = c(13, 11, 7, 11, 26); ays = c(25, 18, 12, 17, 26); ans = c(36, 23, 22, 27, 36)
target <- 0.4
decision <- CFOeff.next(target,axs,ays,ans,currdose = 1, mineff = 0.3)
summary(decision)
#early stop for low efficacy
axs = c(0, 0, 0, 0, 0); ays = c(2, 1, 1, 1, 6); ans = c(36, 23, 22, 27, 36)
target <- 0.4
decision <- CFOeff.next(target,axs,ays,ans,currdose = 1, mineff = 0.3)
summary(decision)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.