# nolint start
#####################################################################################
## Author: Daniel Sabanes Bove [sabanesd *a*t* roche *.* com]
## Project: Object-oriented implementation of CRM designs
##
## Time-stamp: <[three.R] by DSB Son 03/05/2015 20:30>
##
## Description:
## Test the 3+3 stuff. For development only!!
##
## History:
## 30/12/2014 file creation
## 03/05/2015 update with new syntax
###################################################################################
source("../R/helpers.R")
source("../R/Data-class.R")
source("../R/Data-methods.R")
## create some test data
data <- Data(
x =
c(
0.1, 0.1, 0.1,
10, 10, 10,
10, 10, 10,
20, 20, 20,
30, 30, 30,
60, 60, 60,
60, 60, 60
),
y =
as.integer(c(
1, 1, 0,
0, 0, 1,
0, 0, 0,
0, 0, 0,
0, 0, 0,
0, 0, 0,
1, 0, 0
)),
doseGrid =
c(0.1, 10, 20, 30, 60)
)
data
data@nGrid
library(ggplot2)
plot(data)
## now on to the rules:
source("../R/Model-class.R")
source("../R/McmcOptions-class.R")
source("../R/McmcOptions-methods.R")
source("../R/mcmc.R")
source("../R/helpers.R")
source("../R/Samples-class.R")
source("../R/Rules-class.R")
source("../R/Rules-methods.R")
## next best method
myNextBest <- NextBestThreePlusThree()
nextDose <- nextBest(myNextBest, data = data)
nextDose$value
nextDose$stopHere
data
## test design
emptydata <- Data(doseGrid = c(0.1, 10, 20, 30, 60))
source("../R/Design-class.R")
design <- RuleDesign(
nextBest = myNextBest,
data = emptydata,
cohort_size = CohortSizeConst(size = 3L),
## using a constant cohort size of 3,
## we obtain exactly the 3+3 design
startingDose = 0.1
)
## alternative:
design <- ThreePlusThreeDesign(emptydata@doseGrid)
## ----------------------------------------
## todo: cont here
## for testing the simulate function:
object <- design
truth <- function(dose, alpha0, alpha1) {
plogis(alpha0 + alpha1 * dose)
}
## args <- list(rho0=0.1,
## gamma=20)
args <- list(
alpha0 = -10,
alpha1 = 0.3
)
curve(truth(x, args$alpha0, args$alpha1), from = 0.1, to = 60)
nsim <- 10L
seed <- 23
## iterSim <- 1L
source("../R/Simulations-class.R")
source("../R/Design-methods.R")
mySims <- simulate(design,
truth = truth,
args = args,
nsim = 10L
)
str(mySims)
## look at simulated trial outcomes:
plot(mySims@data[[9]])
plot(mySims@data[[2]])
## final MTDs
mySims@doses
## what is the true prob at these doses?
truth(
mySims@doses,
args$alpha0, args$alpha1
)
## extract operating characteristics
source("../R/Simulations-methods.R")
## the truth we want to compare it with:
myTruth <- function(dose) {
truth(dose, args$alpha0, args$alpha1)
}
curve(myTruth(x), from = 0, to = 60)
sumOut <- summary(mySims,
truth = myTruth
)
sumOut
mySims@doses
## make nice plots for simulation output:
## first from the summary object
str(sumOut)
plot(sumOut)
plot(mySims)
plot(sumOut, type = c("nObs"))
## now from the raw simulation output
str(mySims@data)
plot(mySims)
## nice!
# nolint end
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.