Plot the summary of Pseudo Dual Simulations summary
This plot method can be applied to PseudoDualSimulationsSummary
objects in order
to summarize them graphically. Possible type
of plots at the moment are those listed in
plot,PseudoSimulationsSummary,missing-method
plus:
Plot showing the fitted dose-efficacy curve. If no samples are involved, only the
average fitted dose-efficacy curve across the trials will be ploted. If samples (DLE and efficacy) are involved,
the average fitted dose-efficacy curve across the trials, together with the 95% credibility interval; and comparison
with the assumed truth (as specified by the trueEff
argument to
summary,PseudoDualSimulations-method
)
You can specify any subset of these in the type
argument.
## S4 method for signature 'PseudoDualSimulationsSummary,missing' plot(x, y, type = c("nObs", "doseSelected", "propDLE", "nAboveTargetEndOfTrial", "meanFit", "meanEffFit"), ...)
x |
the |
y |
missing |
type |
the types of plots you want to obtain. |
... |
not used |
##obtain the plot of the summary for the simulation results ##If DLE and efficacy responses are considered in the simulations ##Specified your simulations when no samples are used ## we need a data object with doses >= 1: data <- DataDual(doseGrid=seq(25,300,25),placebo=FALSE) ##First for the DLE model ##The DLE model must be of 'ModelTox' (e.g 'LogisticIndepBeta') class DLEmodel <- LogisticIndepBeta(binDLE=c(1.05,1.8), DLEweights=c(3,3), DLEdose=c(25,300), data=data) ##The efficacy model of 'ModelEff' (e.g 'Effloglog') class Effmodel<-Effloglog(Eff=c(1.223,2.513),Effdose=c(25,300), nu=c(a=1,b=0.025),data=data,c=0) ##The escalation rule using the 'NextBestMaxGain' class mynextbest<-NextBestMaxGain(DLEDuringTrialtarget=0.35, DLEEndOfTrialtarget=0.3) ##The increments (see Increments class examples) ## 200% allowable increase for dose below 300 and 200% increase for dose above 300 myIncrements<-IncrementsRelative(intervals=c(25,300), increments=c(2,2)) ##cohort size of 3 mySize<-CohortSizeConst(size=3) ##Stop only when 10 subjects are treated (for illustration) myStopping <- StoppingMinPatients(nPatients=10) ##Now specified the design with all the above information and starting with a dose of 25 ##Specified the design(for details please refer to the 'DualResponsesDesign' example) design <- DualResponsesDesign(nextBest=mynextbest, model=DLEmodel, Effmodel=Effmodel, stopping=myStopping, increments=myIncrements, cohortSize=mySize, data=data,startingDose=25) ##Specify the true DLE and efficacy curves myTruthDLE<- function(dose) { DLEmodel@prob(dose, phi1=-53.66584, phi2=10.50499) } myTruthEff<- function(dose) {Effmodel@ExpEff(dose,theta1=-4.818429,theta2=3.653058) } ## Then specified the simulations and generate the trial ##For illustration purpose only 1 simulation is produced (nsim=1). mySim <-simulate(object=design, args=NULL, trueDLE=myTruthDLE, trueEff=myTruthEff, trueNu=1/0.025, nsim=1, ## this would need to be increased in the real ## application: mcmcOptions=McmcOptions(burnin=10, step=1, samples=50), seed=819, parallel=FALSE) ##Then produce a summary of your simulations MYSUM <- summary(mySim, trueDLE=myTruthDLE, trueEff=myTruthEff) ##Then plot the summary of the simulations print(plot(MYSUM)) ##If DLE and efficacy samples are involved ##Please refer to design-method 'simulate DualResponsesSamplesDesign' examples for details ##specified the next best mynextbest<-NextBestMaxGainSamples(DLEDuringTrialtarget=0.35, DLEEndOfTrialtarget=0.3, TDderive=function(TDsamples){ quantile(TDsamples,prob=0.3)}, Gstarderive=function(Gstarsamples){ quantile(Gstarsamples,prob=0.5)}) ##specified the design design <- DualResponsesSamplesDesign(nextBest=mynextbest, cohortSize=mySize, startingDose=25, model=DLEmodel, Effmodel=Effmodel, data=data, stopping=myStopping, increments=myIncrements) ##options for MCMC ##for illustration purpose we use 10 burn-in and generate 50 samples options<-McmcOptions(burnin=10,step=2,samples=50) ##The simulations ##For illustration purpose only 1 simulation is produced (nsim=1). # mySim<-simulate(design, # args=NULL, # trueDLE=myTruthDLE, # trueEff=myTruthEff, # trueNu=1/0.025, # nsim=1, # mcmcOptions=options, # seed=819, # parallel=FALSE) # # ##Then produce a summary of your simulations # MYSUM <- summary(mySim, # trueDLE=myTruthDLE, # trueEff=myTruthEff) # # ##Then plot the summary of the simulations # print(plot(MYSUM)) ##OR if the 'EffFlexi' class is used ## for the efficacy model Effmodel<- EffFlexi(Eff=c(1.223, 2.513),Effdose=c(25,300), sigma2=c(a=0.1,b=0.1),sigma2betaW=c(a=20,b=50),smooth="RW2",data=data) ##Specified the design design <- DualResponsesSamplesDesign(nextBest=mynextbest, cohortSize=mySize, startingDose=25, model=DLEmodel, Effmodel=Effmodel, data=data, stopping=myStopping, increments=myIncrements) ##specified the true DLE curve and the true expected efficacy values at all dose levels myTruthDLE<- function(dose) { DLEmodel@prob(dose, phi1=-53.66584, phi2=10.50499) } myTruthEff<- c(-0.5478867, 0.1645417, 0.5248031, 0.7604467, 0.9333009 ,1.0687031, 1.1793942 , 1.2726408 , 1.3529598 , 1.4233411 , 1.4858613 , 1.5420182) ##The true gain curve can also be seen myTruthGain <- function(dose) {return((myTruthEff(dose))/(1+(myTruthDLE(dose)/(1-myTruthDLE(dose)))))} ##The simulations # ##For illustration purpose only 1 simulation is produced (nsim=1). # mySim<-simulate(object=design, # args=NULL, # trueDLE=myTruthDLE, # trueEff=myTruthEff, # trueSigma2=0.025, # trueSigma2betaW=1, # nsim=1, # mcmcOptions=options, # seed=819, # parallel=FALSE) # ##Then produce a summary of your simulations # MYSUM <- summary(mySim, # trueDLE=myTruthDLE, # trueEff=myTruthEff) # # ##Then plot the summary of the simulations # print(plot(MYSUM))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.