Title: | Hybrid Design for Phase I Dose-Finding Studies |
---|---|
Description: | The Hybrid design is a combination of model-assisted design (e.g., the modified Toxicity Probability Interval design) with dose-toxicity model-based design for phase I dose-finding studies. The hybrid design controls the overdosing toxicity well and leads to a recommended dose closer to the true maximum tolerated dose (MTD) due to its ability to calibrate for an intermediate dose. More details can be found in Liao et al. 2022 <doi:10.1002/ijc.34203>. |
Authors: | Heng Zhou [aut, cre], Feng Zhou [aut], Jason Liao [aut] |
Maintainer: | Heng Zhou <[email protected]> |
License: | GPL-3 |
Version: | 1.0 |
Built: | 2024-12-12 06:47:50 UTC |
Source: | CRAN |
Generate dose escalation and deescalation boundaries of modified Toxicity Probability Interval (mTPI) design with overdose control.
get_boundary_mtpi( target, ncohort, cohortsize, eps1 = 0.05, eps2 = 0.05, a = 1, b = 1, cutoff.eli = 0.95, tox.control = FALSE, cut.tox = 0.8, esc.control = FALSE, cut.esc = 0.5 )
get_boundary_mtpi( target, ncohort, cohortsize, eps1 = 0.05, eps2 = 0.05, a = 1, b = 1, cutoff.eli = 0.95, tox.control = FALSE, cut.tox = 0.8, esc.control = FALSE, cut.esc = 0.5 )
target |
target toxicity rate |
ncohort |
the total number of cohorts |
cohortsize |
the cohort size |
eps1 |
modified Toxicity Probability Interval (mTPI) design parameter epsilon1. Default: 0.05 |
eps2 |
modified Toxicity Probability Interval (mTPI) design parameter epsilon2. Default: 0.05 |
a |
Beta prior shape parameter 1. Default: 1 |
b |
Beta prior shape parameter 2. Default: 1 |
cutoff.eli |
Posterior probability cutoff of eliminating dose due to unacceptable toxicity. Default: 0.95 |
tox.control |
indicator of whether to perform toxicity control. If |
cut.tox |
toxicity control cutoff. Default: 0.8 |
esc.control |
indicator of whether to perform escalation control. If |
cut.esc |
escalation control cutoff. Default: 0.5 |
This function returns the table of escalation and deescalation boundaries.
get_boundary_mtpi(target=0.30, ncohort=10, cohortsize=3)
get_boundary_mtpi(target=0.30, ncohort=10, cohortsize=3)
Obtain the operating characteristics of the Hybrid design for single-agent dose-finding studies by simulation.
get_oc_hybrid(trueMTD, trueDLTvec, dose, target, ncohort, cohortsize, eps1=0.05, eps2=0.05,a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, ntrial, seednum=10000)
get_oc_hybrid(trueMTD, trueDLTvec, dose, target, ncohort, cohortsize, eps1=0.05, eps2=0.05,a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, ntrial, seednum=10000)
trueMTD |
the dosage of true maximum tolerated dose (MTD) |
trueDLTvec |
a vector of true dose-limiting toxicity (DLT) rates at each dose level |
dose |
a vector containing the numerical dosage of each dose level |
target |
target toxicity rate |
ncohort |
the total number of cohorts |
cohortsize |
the cohort size |
eps1 |
mTPI design parameter epsilon1. Default: 0.05 |
eps2 |
mTPI design parameter epsilon2. Default: 0.05 |
a |
Beta prior shape parameter 1. Default: 1 |
b |
Beta prior shape parameter 2. Default: 1 |
cutoff.eli |
Posterior probability cutoff of eliminating dose due to unacceptable toxicity. Default: 0.95 |
tox.control |
indicator of whether to perform toxicity control. If |
cut.tox |
toxicity control cutoff. Default: 0.8 |
esc.control |
indicator of whether to perform escalation control. If |
cut.esc |
escalation control cutoff. Default: 0.5 |
ntrial |
the total number of trials to be simulated |
seednum |
the random seed for simulation |
This function returns the operating characteristics of the Hybrid design as a list, including: (1) Percentage of correct selection of the true MTD in all simulated trials, (2) Percentage of selecting a dose above MTD in all simulated trials, (3) Percentage of selecting a dose below MTD in all simulated trials, (4) Average number of patients treated at MTD in all simulated trials.
get_oc_hybrid(trueMTD=12, trueDLTvec=c(0.15,0.20,0.25,0.30,0.35), dose=c(3, 6, 12, 18, 24), target=0.25, ncohort=10, cohortsize=3, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, ntrial=100, seednum=10000)
get_oc_hybrid(trueMTD=12, trueDLTvec=c(0.15,0.20,0.25,0.30,0.35), dose=c(3, 6, 12, 18, 24), target=0.25, ncohort=10, cohortsize=3, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, ntrial=100, seednum=10000)
Obtain decision for the next dose level to be tested given current trial data.
hybrid(dose, nDLT, npts, currdose, nextdose=0, target, ncohort, cohortsize, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, regrule)
hybrid(dose, nDLT, npts, currdose, nextdose=0, target, ncohort, cohortsize, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, esc.control=FALSE, cut.esc=0.5, regrule)
dose |
a vector containing the numerical dosage of each dose level |
nDLT |
a vector containing the number of patients who experienced dose-limiting toxicity at each dose level |
npts |
a vector containing the number of patients at each dose level |
currdose |
the dosage at the current dose level |
nextdose |
the dosage of next higher dose level; could be an intermediate dose |
target |
the target toxicity rate |
ncohort |
the total number of cohorts |
cohortsize |
the cohort size |
eps1 |
modified Toxicity Probability Interval (mTPI) design parameter epsilon1. Default: 0.05 |
eps2 |
modified Toxicity Probability Interval (mTPI) design parameter epsilon2. Default: 0.05 |
a |
Beta prior shape parameter 1. Default: 1 |
b |
Beta prior shape parameter 2. Default: 1 |
cutoff.eli |
Posterior probability cutoff of eliminating dose due to unacceptable toxicity. Default: 0.95 |
tox.control |
indicator of whether to perform toxicity control. If |
cut.tox |
toxicity control cutoff. Default: 0.8 |
esc.control |
indicator of whether to perform escalation control. If |
cut.esc |
escalation control cutoff. Default: 0.5 |
regrule |
indicator of whether to apply additional overdose control rule |
This function returns the decision of implementing the Hybrid design with real trial data as a list, including: (1) dose transition boundaries of modified mTPI design, (2) decision table of modified mTPI design, (3) the decision given current data, (4) the summary table of tested dose levels
hybrid(dose=c(2,4,8,16,22,28,40), nDLT=c(0,0,0,0,1,0,2), npts=c(3,3,4,6,9,5,16), currdose=40, nextdose=54, target=0.3, ncohort=10, cohortsize=3, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, regrule=TRUE)
hybrid(dose=c(2,4,8,16,22,28,40), nDLT=c(0,0,0,0,1,0,2), npts=c(3,3,4,6,9,5,16), currdose=40, nextdose=54, target=0.3, ncohort=10, cohortsize=3, eps1=0.05, eps2=0.05, a=1, b=1, cutoff.eli=0.95, tox.control=TRUE, cut.tox=0.8, regrule=TRUE)
Select the maximum tolerated dose (MTD) when the single-agent dose-finding study is completed
hybrid_MTD_selection(target, dose, npts, nDLT, elimdose)
hybrid_MTD_selection(target, dose, npts, nDLT, elimdose)
target |
the target toxicity rate |
dose |
a vector containing the numerical dosage of each dose level |
npts |
a vector containing the number of patients treated at each dose level |
nDLT |
a vector containing the number of patients who experienced dose-limiting toxicity at each dose level |
elimdose |
the dosage at the dose level which is excluded due to excessive toxicity |
hybrid.MTD.selection()
selects the MTD based on isotonic estimates of toxicity
probabilities. The isotonic estimates are obtained by the pooled-adjacent-violators
algorithm (PAVA) (Barlow, 1972 <doi: 10.1080/01621459.1972.10481216>).
The selected dosage as MTD
The dose levels above elim
are all excluded for MTD selection.
hybrid_MTD_selection(target=0.3, dose=c(2,4,8,16,22,28,40), npts=c(2,4,8,16,22,28,40), nDLT=c(0,0,0,0,1,0,2), elimdose=28)
hybrid_MTD_selection(target=0.3, dose=c(2,4,8,16,22,28,40), npts=c(2,4,8,16,22,28,40), nDLT=c(0,0,0,0,1,0,2), elimdose=28)