ewoc2simu {EWOC.Comb} | R Documentation |
Generic EWOC2 simulation
Description
Generic function for simulating EWOC trials for 2 drugs combination
Usage
ewoc2simu(ntrials, nsamples, type, trho00, trho01, trho10, teta, nx, ny, tp,
Min.Dose.A, Max.Dose.A, Min.Dose.B, Max.Dose.B, alpha, theta, vai, a01,
b01, a10, b10, a00, b00, a, b, delta1x, delta1y, burn, mm, delta1, seed)
## Default S3 method:
ewoc2simu(ntrials, nsamples, type, trho00, trho01, trho10, teta, nx, ny, tp,
Min.Dose.A, Max.Dose.A, Min.Dose.B, Max.Dose.B, alpha, theta, vai, a01,
b01, a10, b10, a00, b00, a, b, delta1x, delta1y, burn=4000, mm=2000, delta1=0.05, seed)
Arguments
ntrials |
a number indicating the number of trials to be simulated |
nsamples |
a number indicating the number of patients enrolled for each clinical trial |
type |
a character indicating the type of design, could be 'continous' or 'discrete' or their initials |
trho00 |
a numeric value indicating the true value of the parameter rho00, the probability of DLT when the levels of drugs A and B are both 0 |
trho01 |
a numeric value indicating the true value of the parameter rho01, the probability of DLT when the levels of drugs A and B are 0 and 1, respectively |
trho10 |
a numeric value indicating the true value of the parameter rho10, the probability of DLT when the levels of drugs A and B are 1 and 0, respectively |
teta |
a numeric value indicating the true value of the eta, the interaction parameter |
nx |
a numeric value indicating the number of dose levels for drug A. It's only necessary if type = 'discrete' |
ny |
a numeric value indicating the number of dose levels for drug B. It's only necessary if type = 'discrete' |
tp |
a numerical vector indicating the true probabilities of DLT at each dose combinations, the order is by Drug B first, only necessary if type = 'discrete' |
Min.Dose.A |
a numeric value defining the lower bound of the support of the MTD for drug A |
Max.Dose.A |
a numeric value defining the upper bound of the support of the MTD for drug A |
Min.Dose.B |
a numeric value defining the lower bound of the support of the MTD for drug B |
Max.Dose.B |
a numeric value defining the upper bound of the support of the MTD for drug B |
alpha |
a numerical value defining the probability that dose selected by EWOC is higher than the MTD. |
theta |
a numeric value defining the proportion of expectd patients to experience a medically unacceptable, dose-limiting toxicity (DLT) if administered the MTD. |
vai |
a numeric value indicating variable alpha increment for each new cohort |
a01 |
a numeric value for beta prior distribution associated with parameter rho01 |
b01 |
a numeric value for beta prior distribution associated with parameter rho01 |
a10 |
a numeric value for beta prior distribution associated with parameter rho10 |
b10 |
a numeric value for beta prior distribution associated with parameter rho10 |
a00 |
a numeric value for beta prior distribution associated with parameter rho00 |
b00 |
a numeric value for beta prior distribution associated with parameter rho00 |
a |
a numeric value for gamma prior distribution associated with parameter eta |
b |
a numeric value for gamma prior distribution associated with parameter eta |
delta1x |
Maximum dose escalation at each step for drug A, the default is 0.2*(Max.Dose.A-Min.Dose.A if not assigned) |
delta1y |
Maximum dose escalation at each step for drug B, the default is 0.2*(Max.Dose.B-Min.Dose.B if not assigned) |
burn |
Number of iterations for adaption, see n.adapt in jags.model for detail |
mm |
Number of iterations to monitor, see n.iter in code.samples for detail |
delta1 |
Threshold for toxicity |
seed |
a numeric value used in random number generation |
Value
type |
same as input parameter type |
parameters |
list of input parameters |
priors |
list of prior parameters |
Dose.A |
a matrix ntrials x nsamples containing the doses of drug A assigned for each patient in a trial and each trial in the simulation |
Dose.B |
a matrix ntrials x nsamples containing the doses of drug B assigned for each patient in a trial and each trial in the simulation |
Resp |
a matrix ntrials x nsamples containing ones and zeros indicating the occurance of DLT (1) and the absence of DLT (0) for each patient in the trial and each trial in the simulation |
rho00 |
a numeric vector ntrials x 1 containing the estimated rho00 parameter for each trial in the simulation |
rho01 |
a numeric vector ntrials x 1 containing the estimated rho01 parameter for each trial in the simulation |
rho10 |
a numeric vector ntrials x 1 containing the estimated rho10 parameter for each trial in the simulation |
eta |
a numeric vector ntrials x 1 containing the estimated eta parameter for each trial in the simulation |
postlow |
a matrix ntrials x nsamples/2 containing posterior probability of DLT at lower doses (both 0 for durg A and B) at each step in a trial and each trial in the simulation |
postdlts |
a matrix (nx x ny x ntrials) x 4 containing posterior probability of DLT at each dose combination sets in each trial in the simulation. This is used to test whether or not a discrete set of MTDs was selected from a continous MTD curve is kept or dropped. It's avaiable only when type = 'discrete' |
References
Tighiouart M, Li Q and Rogatko A. A Bayesian adaptive design for estimating the maximuym tolerated dose curve using drug combinations in cancer phase I clinical trials. Statistics in Medicine. 2017, 36: 280-290.
Examples
# continous
test1 = ewoc2simu(ntrials=10, nsamples=40, type="c", trho00=0.01,trho01=0.2, trho10=0.9,teta=20,
Min.Dose.A=0, Max.Dose.A=1, Min.Dose.B=0, Max.Dose.B=1, alpha=0.25, theta=0.20, a01=1,b01=1,
a10=1,b10=1, a00=1,b00=1,a=0.8,b=0.0384)
print(test1)
plot(test1, type="MTD")
plot(test1, type="bias")
plot(test1, type="percent")
# discrete
tp = c(0.03,0.05,0.08,0.05,0.08,0.13,0.08,0.13,0.2,0.13,0.2,0.29,0.2,0.29,0.4,0.29,0.4,0.53)
test2 = ewoc2simu(ntrials=10, nsamples=40, type="d", nx=6, ny=3, tp=tp,
Min.Dose.A=0, Max.Dose.A=1, Min.Dose.B=0, Max.Dose.B=1, alpha=0.25, theta=0.20,
a01=1,b01=1,a10=1,b10=1,a00=1,b00=1,a=0.8,b=0.0384)
print(test2)
plot(test2, type="MTD")
plot(test2, type="percent")