Title: | Conduct Simulation Study of Bayesian Optimal Interval Design with BOIN-ET Family |
---|---|
Description: | Bayesian optimal interval based on both efficacy and toxicity outcomes (BOIN-ET) design is a model-assisted oncology phase I/II trial design, aiming to establish an optimal biological dose accounting for efficacy and toxicity in the framework of dose-finding. Some extensions of BOIN-ET design are also available to allow for time-to-event efficacy and toxicity outcomes based on cumulative and pending data (time-to-event BOIN-ET: TITE-BOIN-ET), ordinal graded efficacy and toxicity outcomes (generalized BOIN-ET: gBOIN-ET), and their combination (TITE-gBOIN-ET). 'boinet' is a package to implement the BOIN-ET design family and supports the conduct of simulation studies to assess operating characteristics of BOIN-ET, TITE-BOIN-ET, gBOIN-ET, and TITE-gBOIN-ET, where users can choose design parameters in flexible and straightforward ways depending on their own application. |
Authors: | Yusuke Yamaguchi [aut, cre], Kentaro Takeda [aut] |
Maintainer: | Yusuke Yamaguchi <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.1.0 |
Built: | 2024-11-23 06:22:17 UTC |
Source: | CRAN |
Bayesian optimal interval design for dose finding based on both efficacy and toxicity outcomes (BOIN-ET design) is implemented under a scenario specified. Operating characteristics of the design are summarized by the percentage of times that each dose level was selected as optimal biological dose and the average number of patients who were treated at each dose level.
boinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1= 0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
boinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1= 0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
n.dose |
Number of dose. |
start.dose |
Starting dose. The lowest dose is generally recommended. |
size.cohort |
Cohort size. |
n.cohort |
Number of cohort. |
toxprob |
Vector of true toxicity probability. |
effprob |
Vector of true efficacy probability. |
phi |
Target toxicity probability. The default value is
|
phi1 |
Highest toxicity probability that is deemed sub-therapeutic such
that dose-escalation should be pursued. The default value is
|
phi2 |
Lowest toxicity probability that is deemed overly toxic such that
dose de-escalation is needed. The default value is |
delta |
Target efficacy probability. The default value is
|
delta1 |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when |
stopping.npts |
Early study termination criteria for the number of
patients. If the number of patients at the current dose reaches this
criteria, the study is terminated. The default value is
|
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
estpt.method |
Method to estimate the efficacy probability. Fractional
polynomial logistic regression is used when |
obd.method |
Method to select the optimal biological dose. Utility
defined by weighted function is used when |
w1 |
Weight for toxicity-efficacy trade-off in utility defined by
weighted function. This must be specified when using
|
w2 |
Weight for penalty imposed on toxic doses in utility defined by
weighted function. This must be specified when using
|
plow.ast |
Lower threshold of toxicity linear truncated function. This
must be specified when using |
pupp.ast |
Upper threshold of toxicity linear truncated function. This
must be specified when using |
qlow.ast |
Lower threshold of efficacy linear truncated function. This
must be specified when using |
qupp.ast |
Upper threshold of efficacy linear truncated function. This
must be specified when using |
psi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. This must be specified when using |
psi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. This must be specified when using |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
The boinet
is a function which generates the operating
characteristics of the Bayesian Optimal Interval design based on toxicity
and efficacy (BOIN-ET design) by a simulation study. Users can specify a
variety of study settings to simulate studies, and choose methods to estimate
the efficacy probability and to select the optimal biological dose. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
The boinet
returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
estpt.method |
Method to estimate the efficacy probability. |
obd.method |
Method to select the optimal biological dose. |
n.patient |
Average number of patients who were treated at each dose level |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated and optimal biological dose was not selected. |
duration |
Expected study duration (days) |
Takeda K, Taguri M, Morita S. BOIN-ET: Bayesian optimal interval design for dose finding based on both efficacy and toxicity outcomes. Pharmaceutical Statistics 2018; 17(4):383-395.
Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30) effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 boinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30) effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 boinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
Fractional polynomial (FP) logistic regression with two degrees of freedom is performed to estimate the efficacy probabilities. The Best fitting FP model is chosen by not taking into account the closed testing procedure.
fp.logit(obs, n, dose)
fp.logit(obs, n, dose)
obs |
Number of patients with events. |
n |
Number of patients. |
dose |
Dose levels to be investigated. |
The fp.logit
returns a vector of estimated probabilities for
each dose level.
Generalized Bayesian optimal interval design for optimal dose-finding accounting for ordinal graded efficacy and toxicity (gBOIN-ET design) is implemented under a scenario specified. Operating characteristics of the design are summarized by the percentage of times that each dose level was selected as optimal biological dose and the average number of patients who were treated at each dose level.
gboinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, sev.weight, res.weight, phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1=0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
gboinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, sev.weight, res.weight, phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1=0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
n.dose |
Number of dose. |
start.dose |
Starting dose. The lowest dose is generally recommended. |
size.cohort |
Cohort size. |
n.cohort |
Number of cohort. |
toxprob |
Vector of true toxicity probability. |
effprob |
Vector of true efficacy probability. |
sev.weight |
Vector of weight for toxicity category. |
res.weight |
Vector of weight for efficacy category. |
phi |
Target toxicity probability. |
phi1 |
Highest toxicity probability that is deemed sub-therapeutic such
that dose-escalation should be pursued. The default value is
|
phi2 |
Lowest toxicity probability that is deemed overly toxic such that
dose de-escalation is needed. The default value is |
delta |
Target efficacy probability. |
delta1 |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when |
stopping.npts |
Early study termination criteria for the number of
patients. If the number of patients at the current dose reaches this
criteria, the study is terminated. The default value is
|
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
estpt.method |
Method to estimate the efficacy probability. Fractional
polynomial logistic regression is used when |
obd.method |
Method to select the optimal biological dose. Utility
defined by weighted function is used when |
w1 |
Weight for toxicity-efficacy trade-off in utility defined by
weighted function. This must be specified when using
|
w2 |
Weight for penalty imposed on toxic doses in utility defined by
weighted function. This must be specified when using
|
plow.ast |
Lower threshold of toxicity linear truncated function. This
must be specified when using |
pupp.ast |
Upper threshold of toxicity linear truncated function. This
must be specified when using |
qlow.ast |
Lower threshold of efficacy linear truncated function. This
must be specified when using |
qupp.ast |
Upper threshold of efficacy linear truncated function. This
must be specified when using |
psi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. This must be specified when using |
psi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. This must be specified when using |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
The gboinet
is a function which generates the operating
characteristics of the generalized Bayesian optimal interval design for
optimal dose-finding accounting for ordinal graded efficacy and toxicity
(gBOIN-ET design) by a simulation study. Users can specify a
variety of study settings to simulate studies, and choose methods to estimate
the efficacy probability and to select the optimal biological dose. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
The gboinet
returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
nETS |
Normalized equivalent toxicity score. |
nEES |
Normalized equivalent efficacy score. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
estpt.method |
Method to estimate the efficacy probability. |
obd.method |
Method to select the optimal biological dose. |
n.patient |
Average number of patients who were treated at each dose level |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated and optimal biological dose was not selected. |
duration |
Expected study duration (days) |
Takeda K, Morita S, Taguri M. gBOIN-ET: The generalized Bayesian optimal interval design for optimal dose-finding accounting for ordinal graded efficacy and toxicity in early clinical trials. Biometrical Journal 2022: 64(7):1178-1191.
Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50), c(0.05,0.10,0.15,0.20,0.20,0.20), c(0.01,0.03,0.05,0.10,0.15,0.25), c(0.00,0.00,0.01,0.02,0.03,0.05)) effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05), c(0.30,0.40,0.40,0.40,0.40,0.15), c(0.05,0.05,0.10,0.15,0.20,0.35), c(0.01,0.03,0.05,0.10,0.20,0.45)) sev.weight <- c(0.00,0.50,1.00,1.50) res.weight <- c(0.00,0.25,1.00,3.00) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 gboinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, sev.weight=sev.weight, res.weight=res.weight, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50), c(0.05,0.10,0.15,0.20,0.20,0.20), c(0.01,0.03,0.05,0.10,0.15,0.25), c(0.00,0.00,0.01,0.02,0.03,0.05)) effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05), c(0.30,0.40,0.40,0.40,0.40,0.15), c(0.05,0.05,0.10,0.15,0.20,0.35), c(0.01,0.03,0.05,0.10,0.20,0.45)) sev.weight <- c(0.00,0.50,1.00,1.50) res.weight <- c(0.00,0.25,1.00,3.00) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 gboinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, sev.weight=sev.weight, res.weight=res.weight, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
Given non-informative prior probabilities of the six hypotheses, a grid search approach is used to find the optimal threshold values.
gridoptim(pi=rep(1/6,6), phi, phi1, phi2, delta, delta1, n=100)
gridoptim(pi=rep(1/6,6), phi, phi1, phi2, delta, delta1, n=100)
pi |
Prior probability of 6 hypotheses. The default value is
|
phi |
Target toxicity probability. |
phi1 |
Lower bound of toxicity probability. |
phi2 |
Upper bound of toxicity probability. |
delta |
Target efficacy probability. |
delta1 |
Lower bound of efficacy probability. |
n |
Number of patients. The default value is |
The gridoptim
returns optimal threshold values of upper and
lower toxicity/efficacy boundaries used in dose-escalation procedure.
gridoptim(phi=0.33,phi1=0.033,phi2=0.462,delta=0.70,delta1=0.42);
gridoptim(phi=0.33,phi1=0.033,phi2=0.462,delta=0.70,delta1=0.42);
Given the location of the mode to be at each dose level, the unimodal isotonically transformed values are calculated. A frequentist model averaging approach is used to obtain the estimated efficacy probability.
multi.iso(obs, n)
multi.iso(obs, n)
obs |
Number of patients with events. |
n |
Number of patients. |
The multi.iso
returns a vector of estimated probabilities for
each dose level.
Optimal biological dose (OBD) is selected by a method specified.
obd.select( probt, probe, method, phi, phi1, phi2, delta, delta1, tterm, eterm, stopT, stopE, w1, w2, plow.ast, pupp.ast, qlow.ast, qupp.ast, psi00, psi11)
obd.select( probt, probe, method, phi, phi1, phi2, delta, delta1, tterm, eterm, stopT, stopE, w1, w2, plow.ast, pupp.ast, qlow.ast, qupp.ast, psi00, psi11)
probt |
Estimated toxicity probability. |
probe |
Estimated efficacy probability. |
method |
Method used for OBD selection. |
phi |
Target toxicity probability. |
phi1 |
Lower bound of toxicity probability. |
phi2 |
Upper bound of toxicity probability. |
delta |
Target efficacy probability. |
delta1 |
Lower bound of efficacy probability. |
tterm |
Probability of meeting toxicity stopping criteria. |
eterm |
Probability of meeting efficacy stopping criteria. |
stopT |
Toxicity stopping criteria. |
stopE |
Efficacy stopping criteria. |
w1 |
Weight for toxicity-efficacy trade-off. |
w2 |
Weight for penalty imposed on toxic doses. |
plow.ast |
Lower threshold of toxicity linear truncated function. |
pupp.ast |
Upper threshold of toxicity linear truncated function. |
qlow.ast |
Lower threshold of efficacy linear truncated function. |
qupp.ast |
Upper threshold of efficacy linear truncated function. |
psi00 |
Score for toxicity=no and efficacy=no. |
psi11 |
Score for toxicity=yes and efficacy=yes. |
The obd.select
returns an optimal biological dose.
Display key summary results from boinet
.
## S3 method for class 'boinet' print(x, ...)
## S3 method for class 'boinet' print(x, ...)
x |
Object from |
... |
More options to pass to print. |
No return values. Key summary results from boinet
are displayed with
trial design settings.
Display key summary results from gboinet
.
## S3 method for class 'gboinet' print(x, ...)
## S3 method for class 'gboinet' print(x, ...)
x |
Object from |
... |
More options to pass to print. |
No return values. Key summary results from gboinet
are displayed with
trial design settings.
Display key summary results from tite.boinet
.
## S3 method for class 'tite.boinet' print(x, ...)
## S3 method for class 'tite.boinet' print(x, ...)
x |
Object from |
... |
More options to pass to print. |
No return values. Key summary results from tite.boinet
are displayed with
trial design settings.
Display key summary results from tite.gboinet
.
## S3 method for class 'tite.gboinet' print(x, ...)
## S3 method for class 'tite.gboinet' print(x, ...)
x |
Object from |
... |
More options to pass to print. |
No return values. Key summary results from tite.gboinet
are displayed with
trial design settings.
Time-to-event Bayesian optimal interval design to accelerate dose-finding based on both efficacy and toxicity outcomes (TITE-BOIN-ET design) is implemented under a scenario specified. Operating characteristics of the design are summarized by the percentage of times that each dose level was selected as optimal biological dose and the average number of patients who were treated at each dose level.
tite.boinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1= 0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
tite.boinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, phi=0.3, phi1=phi*0.1, phi2=phi*1.4, delta=0.6, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1= 0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
n.dose |
Number of dose. |
start.dose |
Starting dose. The lowest dose is generally recommended. |
size.cohort |
Cohort size. |
n.cohort |
Number of cohort. |
toxprob |
Vector of true toxicity probability. |
effprob |
Vector of true efficacy probability. |
phi |
Target toxicity probability. The default value is
|
phi1 |
Highest toxicity probability that is deemed sub-therapeutic such
that dose-escalation should be pursued. The default value is
|
phi2 |
Lowest toxicity probability that is deemed overly toxic such that
dose de-escalation is needed. The default value is |
delta |
Target efficacy probability. The default value is
|
delta1 |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when |
stopping.npts |
Early study termination criteria for the number of
patients. If the number of patients at the current dose reaches this
criteria, the study is terminated. The default value is
|
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
estpt.method |
Method to estimate the efficacy probability. Fractional
polynomial logistic regression is used when |
obd.method |
Method to select the optimal biological dose. Utility
defined by weighted function is used when |
w1 |
Weight for toxicity-efficacy trade-off in utility defined by
weighted function. This must be specified when using
|
w2 |
Weight for penalty imposed on toxic doses in utility defined by
weighted function. This must be specified when using
|
plow.ast |
Lower threshold of toxicity linear truncated function. This
must be specified when using |
pupp.ast |
Upper threshold of toxicity linear truncated function. This
must be specified when using |
qlow.ast |
Lower threshold of efficacy linear truncated function. This
must be specified when using |
qupp.ast |
Upper threshold of efficacy linear truncated function. This
must be specified when using |
psi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. This must be specified when using |
psi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. This must be specified when using |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
The tite.boinet
is a function which generates the operating
characteristics of the time-to-event Bayesian optimal interval design to
accelerate dose-finding based on both efficacy and toxicity outcomes
(TITE-BOIN-ET design) by a simulation study. Users can specify a
variety of study settings to simulate studies, and choose methods to estimate
the efficacy probability and to select the optimal biological dose. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
The tite.boinet
returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
estpt.method |
Method to estimate the efficacy probability. |
obd.method |
Method to select the optimal biological dose. |
n.patient |
Average number of patients who were treated at each dose level |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated and optimal biological dose was not selected. |
duration |
Expected study duration (days) |
Takeda K, Morita S, Taguri M. TITE-BOIN-ET: Time-to-event Bayesian optimal interval design to accelerate dose-finding based on both efficacy and toxicity outcomes. Pharmaceutical Statistics 2020; 19(3):335-349.
Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30) effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 tite.boinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- c(0.01,0.03,0.06,0.12,0.18,0.30) effprob <- c(0.06,0.08,0.15,0.25,0.40,0.80) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 tite.boinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
Time-to-event generalized Bayesian optimal interval design to accelerate dose-finding accounting for ordinal graded efficacy and toxicity outcomes (TITE-gBOIN-ET design) is implemented under a scenario specified. Operating characteristics of the design are summarized by the percentage of times that each dose level was selected as optimal biological dose and the average number of patients who were treated at each dose level.
tite.gboinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, sev.weight, res.weight, phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1=0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
tite.gboinet( n.dose, start.dose, size.cohort, n.cohort, toxprob, effprob, sev.weight, res.weight, phi, phi1=phi*0.1, phi2=phi*1.4, delta, delta1=delta*0.6, alpha.T1=0.5, alpha.E1=0.5, tau.T, tau.E, te.corr=0.2, gen.event.time="weibull", accrual, gen.enroll.time="uniform", stopping.npts=size.cohort*n.cohort, stopping.prob.T=0.95, stopping.prob.E=0.99, estpt.method, obd.method, w1=0.33, w2=1.09, plow.ast=phi1, pupp.ast=phi2, qlow.ast=delta1/2, qupp.ast=delta, psi00=40, psi11=60, n.sim=1000, seed.sim=100)
n.dose |
Number of dose. |
start.dose |
Starting dose. The lowest dose is generally recommended. |
size.cohort |
Cohort size. |
n.cohort |
Number of cohort. |
toxprob |
Vector of true toxicity probability. |
effprob |
Vector of true efficacy probability. |
sev.weight |
Vector of weight for toxicity category. |
res.weight |
Vector of weight for efficacy category. |
phi |
Target toxicity probability. |
phi1 |
Highest toxicity probability that is deemed sub-therapeutic such
that dose-escalation should be pursued. The default value is
|
phi2 |
Lowest toxicity probability that is deemed overly toxic such that
dose de-escalation is needed. The default value is |
delta |
Target efficacy probability. |
delta1 |
Minimum probability deemed efficacious such that the dose
levels with less than delta1 are considered sub-therapeutic.
The default value is |
alpha.T1 |
Probability that toxicity event occurs in the late half of
toxicity assessment window. The default value is |
alpha.E1 |
Probability that efficacy event occurs in the late half of
assessment window. The default value is |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
te.corr |
Correlation between toxicity and efficacy probability,
specified as Gaussian copula parameter. The default value is
|
gen.event.time |
Method to generate the time to first toxicity and
efficacy outcome. Weibull distribution is used when
|
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
gen.enroll.time |
Method to generate enrollment time. Uniform
distribution is used when |
stopping.npts |
Early study termination criteria for the number of
patients. If the number of patients at the current dose reaches this
criteria, the study is terminated. The default value is
|
stopping.prob.T |
Early study termination criteria for toxicity,
taking a value between 0 and 1. If the posterior probability that toxicity
outcome is less than the target toxicity probability ( |
stopping.prob.E |
Early study termination criteria for efficacy,
taking a value between 0 and 1. If the posterior probability that efficacy
outcome is less than the minimum efficacy probability ( |
estpt.method |
Method to estimate the efficacy probability. Fractional
polynomial logistic regression is used when |
obd.method |
Method to select the optimal biological dose. Utility
defined by weighted function is used when |
w1 |
Weight for toxicity-efficacy trade-off in utility defined by
weighted function. This must be specified when using
|
w2 |
Weight for penalty imposed on toxic doses in utility defined by
weighted function. This must be specified when using
|
plow.ast |
Lower threshold of toxicity linear truncated function. This
must be specified when using |
pupp.ast |
Upper threshold of toxicity linear truncated function. This
must be specified when using |
qlow.ast |
Lower threshold of efficacy linear truncated function. This
must be specified when using |
qupp.ast |
Upper threshold of efficacy linear truncated function. This
must be specified when using |
psi00 |
Score for toxicity=no and efficacy=no in utility defined by
scoring. This must be specified when using |
psi11 |
Score for toxicity=yes and efficacy=yes in utility defined by
scoring. This must be specified when using |
n.sim |
Number of simulated trial. The default value is
|
seed.sim |
Seed for random number generator. The default value is
|
The tite.gboinet
is a function which generates the operating
characteristics of the time-to-event generalized Bayesian optimal interval
design to accelerate dose-finding accounting for ordinal graded efficacy and
toxicity outcomes
(TITE-gBOIN-ET design) by a simulation study. Users can specify a
variety of study settings to simulate studies, and choose methods to estimate
the efficacy probability and to select the optimal biological dose. The
operating characteristics of the design are summarized by the percentage of
times that each dose level was selected as optimal biological dose and the
average number of patients who were treated at each dose level. The
percentage of times that the study was terminated and the expected study
duration are also provided.
The tite.gboinet
returns a list containing the following components:
toxprob |
True toxicity probability. |
effprob |
True efficacy probability. |
nETS |
Normalized equivalent toxicity score. |
nEES |
Normalized equivalent efficacy score. |
phi |
Target toxicity probability. |
delta |
Target efficacy probability. |
lambda1 |
Lower toxicity boundary in dose escalation/de-escalation. |
lambda2 |
Upper toxicity boundary in dose escalation/de-escalation. |
eta1 |
Lower efficacy boundary in dose escalation/de-escalation. |
tau.T |
Toxicity assessment windows (days). |
tau.E |
Efficacy assessment windows (days). |
accrual |
Accrual rate (days) (average number of days necessary to enroll one patient). |
estpt.method |
Method to estimate the efficacy probability. |
obd.method |
Method to select the optimal biological dose. |
n.patient |
Average number of patients who were treated at each dose level |
prop.select |
Percentage of times that each dose level was selected as optimal biological dose. |
prop.stop |
Percentage of times that the study was terminated and optimal biological dose was not selected. |
duration |
Expected study duration (days) |
Takeda K, Yamaguchi Y, Taguri M, Morita S. TITE-gBOIN-ET: Time-to-event generalized Bayesian optimal interval design to accelerate dose-finding accounting for ordinal graded efficacy and toxicity outcomes. Biometrical Journal 2023 (in press).
Yamaguchi Y, Takeda K, Yoshida S, Maruo K. Optimal biological dose selection in dose-finding trials with model-assisted designs based on efficacy and toxicity: a simulation study. Journal of Biopharmaceutical Statistics 2023; doi: 10.1080/10543406.2023.2202259.
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50), c(0.05,0.10,0.15,0.20,0.20,0.20), c(0.01,0.03,0.05,0.10,0.15,0.25), c(0.00,0.00,0.01,0.02,0.03,0.05)) effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05), c(0.30,0.40,0.40,0.40,0.40,0.15), c(0.05,0.05,0.10,0.15,0.20,0.35), c(0.01,0.03,0.05,0.10,0.20,0.45)) sev.weight <- c(0.00,0.50,1.00,1.50) res.weight <- c(0.00,0.25,1.00,3.00) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 tite.gboinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, sev.weight=sev.weight, res.weight=res.weight, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
n.dose <- 6 start.dose <- 1 size.cohort <- 3 n.cohort <- 12 toxprob <- rbind(c(0.94,0.87,0.79,0.68,0.62,0.50), c(0.05,0.10,0.15,0.20,0.20,0.20), c(0.01,0.03,0.05,0.10,0.15,0.25), c(0.00,0.00,0.01,0.02,0.03,0.05)) effprob <- rbind(c(0.64,0.52,0.45,0.35,0.20,0.05), c(0.30,0.40,0.40,0.40,0.40,0.15), c(0.05,0.05,0.10,0.15,0.20,0.35), c(0.01,0.03,0.05,0.10,0.20,0.45)) sev.weight <- c(0.00,0.50,1.00,1.50) res.weight <- c(0.00,0.25,1.00,3.00) phi <- 0.33 delta <- 0.70 tau.T <- 30 tau.E <- 45 accrual <- 10 estpt.method <- "obs.prob" obd.method <- "max.effprob" n.sim <- 10 tite.gboinet( n.dose=n.dose, start.dose=start.dose, size.cohort=size.cohort, n.cohort=n.cohort, toxprob=toxprob, effprob=effprob, sev.weight=sev.weight, res.weight=res.weight, phi=phi, delta=delta, tau.T=tau.T, tau.E=tau.E, accrual=accrual, estpt.method=estpt.method, obd.method=obd.method, n.sim=n.sim)
Given estimated toxicity and efficacy probabilities, the utility which is defined by scoring is calculated.
utility.scoring(probt, probe, psi00, psi11)
utility.scoring(probt, probe, psi00, psi11)
probt |
Estimated toxicity probability. |
probe |
Estimated efficacy probability. |
psi00 |
Score for toxicity=no and efficacy=no. |
psi11 |
Score for toxicity=yes and efficacy=yes. |
The utility.scoring
returns a utility value defined by the scoring.
Given estimated toxicity and efficacy probabilities, the utility which is defined by truncated linear functions is Calculated.
utility.truncated.linear(probt, probe, tlow, tupp, elow, eupp)
utility.truncated.linear(probt, probe, tlow, tupp, elow, eupp)
probt |
Estimated toxicity probability |
probe |
Estimated efficacy probability |
tlow |
Lower threshold of toxicity linear truncated function. |
tupp |
Upper threshold of toxicity linear truncated function. |
elow |
Lower threshold of efficacy linear truncated function. |
eupp |
Upper threshold of efficacy linear truncated function. |
The utility.truncated.linear
returns a utility value defined by
the truncated linear functions.
Given estimated toxicity and efficacy probabilities, the utility which is defined by a weighted function is Calculated.
utility.weighted(probt, probe, w1, w2, tox.upper)
utility.weighted(probt, probe, w1, w2, tox.upper)
probt |
Estimated toxicity probability. |
probe |
Estimated efficacy probability. |
w1 |
Weight for toxicity-efficacy trade-off. |
w2 |
Weight for penalty imposed on toxic doses. |
tox.upper |
Upper bound of toxicity probability. |
The utility.weighted
returns a utility value defined by
the weighted function.