Description Usage Arguments Value Examples
Simulate outcomes from a time-to-DLT augmented CRM design (DADesign
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
object |
the |
nsim |
the number of simulations (default: 1) |
seed |
see |
truthTox |
a function which takes as input a dose (vector) and returns the
true probability (vector) for toxicity and the time DLT occurs. Additional
arguments can be supplied in |
truthSurv |
a CDF which takes as input a time (vector) and returns the true cumulative probability (vector) that the DLT would occur conditioning on the patient has DLTs. |
trueTmax |
add documentation here |
args |
data frame with arguments for the |
firstSeparate |
enroll the first patient separately from the rest of the cohort? (not default) If yes, the cohort will be closed if a DLT occurs in this patient. |
deescalate |
deescalation when a DLT occurs in cohorts with lower dose level. |
mcmcOptions |
object of class |
DA |
document or rename this parameter to make it more meaningful |
parallel |
should the simulation runs be parallelized across the clusters of the computer? (not default) |
nCores |
how many cores should be used for parallel computing? Defaults to the number of cores on the machine (maximum 5) |
... |
not used |
an object of class Simulations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | # nolint start
# Define the dose-grid and PEM parameters
emptydata <- DataDA(doseGrid=c(0.1, 0.5,1, 1.5, 3, 6,
seq(from=10, to=80, by=2)),Tmax=60)
# Initialize the mDA-CRM model
npiece_=10
Tmax_=60
lambda_prior<-function(k){
npiece_/(Tmax_*(npiece_-k+0.5))
}
model<-DALogisticLogNormal(mean=c(-0.85,1),
cov=matrix(c(1,-0.5,-0.5,1),nrow=2),
ref_dose=56,
npiece=npiece_,
l=as.numeric(t(apply(as.matrix(c(1:npiece_),1,npiece_),2,lambda_prior))),
C_par=2)
# Choose the rule for dose increments
myIncrements <- IncrementsRelative(intervals=c(0,20),
increments=c(1,0.33))
# Choose the rule for selecting the next dose
nextMaxDose <- maxDose(myIncrements,data=emptydata)
myNextBest <- NextBestNCRM(target=c(0.2,0.35),
overdose=c(0.35,1),
maxOverdoseProb=0.25)
# Choose the rule for the cohort-size
mySize1 <- CohortSizeRange(intervals=c(0, 30),
cohortSize=c(1, 3))
mySize2 <- CohortSizeDLT(DLTintervals=c(0, 1),
cohortSize=c(1, 3))
mySize <- maxSize(mySize1, mySize2)
# Choose the rule for stopping
myStopping1 <- StoppingTargetProb(target=c(0.2, 0.35),
prob=0.5)
myStopping2 <- StoppingMinPatients(nPatients=50)
myStopping <- (myStopping1 | myStopping2)
# Choose the safety window
mysafetywindow=SafetyWindowConst(c(6,2),7,7)
# Initialize the design
design <- DADesign(model=model,
increments=myIncrements,
nextBest=myNextBest,
stopping=myStopping,
cohortSize=mySize,
data=emptydata,
safetyWindow=mysafetywindow,
startingDose=3)
## set up truth curves
myTruth <- probFunction(model, alpha0 = 2, alpha1 = 3)
curve(myTruth(x), from=0, to=100, ylim=c(0, 1))
onset <- 15
exp_cond.cdf<-function(x){
1-(pexp(x,1/onset,lower.tail=FALSE)-pexp(28,1/onset,lower.tail=FALSE))/pexp(28,1/onset)
}
#set up simulation settings
options <- McmcOptions(burnin=100,
step=1,
samples=2000)
mySims <- simulate(design,
args=NULL,
truthTox=myTruth,
truthSurv=exp_cond.cdf,#piece_exp_cond.cdf,
trueTmax=80,
nsim=2,
seed=819,
mcmcOptions=options,
firstSeparate=TRUE,
deescalate=FALSE,
parallel=TRUE,
nCores=2)
# nolint end
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.