simulate,Design-method | R Documentation |
Simulate outcomes from a CRM design
## S4 method for signature 'Design' simulate( object, nsim = 1L, seed = NULL, truth, args = NULL, firstSeparate = FALSE, mcmcOptions = McmcOptions(), parallel = FALSE, nCores = min(parallel::detectCores(), 5), ... )
object |
the |
nsim |
the number of simulations (default: 1) |
seed |
see |
truth |
a function which takes as input a dose (vector) and returns the
true probability (vector) for toxicity. Additional arguments can be supplied
in |
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. |
mcmcOptions |
object of class |
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
# Define the dose-grid emptydata <- Data(doseGrid = c(1, 3, 5, 10, 15, 20, 25, 40, 50, 80, 100)) # Initialize the CRM model model <- LogisticLogNormal(mean=c(-0.85, 1), cov= matrix(c(1, -0.5, -0.5, 1), nrow=2), refDose=56) # Choose the rule for selecting the next dose 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 <- StoppingMinCohorts(nCohorts=3) myStopping2 <- StoppingTargetProb(target=c(0.2, 0.35), prob=0.5) myStopping3 <- StoppingMinPatients(nPatients=20) myStopping <- (myStopping1 & myStopping2) | myStopping3 # Choose the rule for dose increments myIncrements <- IncrementsRelative(intervals=c(0, 20), increments=c(1, 0.33)) # Initialize the design design <- Design(model=model, nextBest=myNextBest, stopping=myStopping, increments=myIncrements, cohortSize=mySize, data=emptydata, startingDose=3) ## define the true function myTruth <- function(dose) { model@prob(dose, alpha0=7, alpha1=8) } # Run the simulation on the desired design # We only generate 1 trial outcomes here for illustration, for the actual study # this should be increased of course options <- McmcOptions(burnin=100, step=1, samples=2000) time <- system.time(mySims <- simulate(design, args=NULL, truth=myTruth, nsim=1, seed=819, mcmcOptions=options, parallel=FALSE))[3]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.