simulate,TDsamplesDesign-method {crmPack} | R Documentation |
This is a methods to simulate dose escalation procedure only using the DLE responses.
This is a method based on the TDsamplesDesign
where model used are of
ModelTox
class object DLE samples are also used
Description
This is a methods to simulate dose escalation procedure only using the DLE responses.
This is a method based on the TDsamplesDesign
where model used are of
ModelTox
class object DLE samples are also used
Usage
## S4 method for signature 'TDsamplesDesign'
simulate(
object,
nsim = 1L,
seed = NULL,
truth,
args = NULL,
firstSeparate = FALSE,
mcmcOptions = McmcOptions(),
parallel = FALSE,
nCores = min(parallel::detectCores(), 5),
...
)
Arguments
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) of the occurrence of a DLE. 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 |
Value
an object of class PseudoSimulations
@export @keywords methods
Examples
##Simulate dose-escalation procedure based only on DLE responses with DLE samples involved
##The design comprises a model, the escalation rule, starting data,
##a cohort size and a starting dose
##Define your data set first using an empty data set
## with dose levels from 25 to 300 with increments 25
data <- Data(doseGrid=seq(25,300,25))
##The design only incorporate DLE responses and DLE samples are involved
##Specified the model of 'ModelTox' class eg 'LogisticIndepBeta' class model
model<-LogisticIndepBeta(binDLE=c(1.05,1.8),DLEweights=c(3,3),DLEdose=c(25,300),data=data)
##Then the escalation rule
tdNextBest<-NextBestTDsamples(targetDuringTrial=0.35,
targetEndOfTrial=0.3,
derive=function(TDsamples){quantile(TDsamples,probs=0.3)})
## The cohort size, size of 3 subjects
mySize <-CohortSizeConst(size=3)
##Deifne the increments for the dose-escalation process
##The maximum increase of 200% for doses up to the maximum of the dose specified in the doseGrid
##The maximum increase of 200% for dose above the maximum of the dose specified in the doseGrid
##This is to specified a maximum of 3-fold restriction in dose-esclation
myIncrements<-IncrementsRelative(intervals=c(min(data@doseGrid),max(data@doseGrid)),
increments=c(2,2))
##Specified the stopping rule e.g stop when the maximum sample size of 36 patients has been reached
myStopping <- StoppingMinPatients(nPatients=36)
##Specified the design(for details please refer to the 'TDsamplesDesign' example)
design <- TDsamplesDesign(model=model,
nextBest=tdNextBest,
stopping=myStopping,
increments=myIncrements,
cohortSize=mySize,
data=data,startingDose=25)
##Specify the truth of the DLE responses
myTruth <- function(dose)
{ model@prob(dose, phi1=-53.66584, phi2=10.50499)
}
##then plot the truth to see how the truth dose-DLE curve look like
curve(myTruth(x), from=0, to=300,ylim=c(0,1))
## Then specified the simulations and generate the trial
##options for MCMC
options<-McmcOptions(burnin=100,step=2,samples=200)
##The simulations
##For illustration purpose only 1 simulation is produced (nsim=1).
mySim <- simulate(object=design,
args=NULL,
truth=myTruth,
nsim=1,
seed=819,
mcmcOptions=options,
parallel=FALSE)