This function determines the safety window length of the next cohort.
Usage
windowLength(safetyWindow, size, ...)
# S4 method for class 'SafetyWindowSize'
windowLength(safetyWindow, size, data, ...)
# S4 method for class 'SafetyWindowConst'
windowLength(safetyWindow, size, ...)
Arguments
- safetyWindow
The rule, an object of class
SafetyWindow
- size
The next cohort size
- ...
additional arguments
- data
The data input, an object of class
DataDA
Functions
windowLength(SafetyWindowSize)
: Determine safety window length based on the cohort sizewindowLength(SafetyWindowConst)
: Constant safety window length
Examples
# nolint start
# Create the data
data <- DataDA(x=c(0.1, 0.5, 1.5, 3, 6, 10, 10, 10),
y=c(0, 0, 1, 1, 0, 0, 1, 0),
doseGrid=
c(0.1, 0.5, 1.5, 3, 6,
seq(from=10, to=80, by=2)),
u=c(42,30,15,5,20,25,30,60),
t0=c(0,15,30,40,55,70,75,85),
Tmax=60)
#> Used default patient IDs!
#> Used best guess cohort indices!
# Initialize the CRM model used to model the data
npiece_ <- 10
lambda_prior<-function(k){
npiece_/(data@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)
# Set-up some MCMC parameters and generate samples from the posterior
options <- McmcOptions(burnin=100,
step=2,
samples=200)
set.seed(94)
samples <- mcmc(data, model, options)
# Define the rule for dose increments and calculate the maximum dose allowed
myIncrements <- IncrementsRelative(intervals=c(0, 20),
increments=c(1, 0.33))
nextMaxDose <- maxDose(myIncrements,
data=data)
# Define the rule which will be used to select the next best dose
# based on the class 'NextBestNCRM'
myNextBest <- NextBestNCRM(target=c(0.2, 0.35),
overdose=c(0.35, 1),
max_overdose_prob=0.25)
# Calculate the next best dose
doseRecommendation <- nextBest(myNextBest,
doselimit=nextMaxDose,
samples=samples, model=model, data=data)
# Define the rule which will be used to select the next cohort size
# based on the class 'CohortSizeConst'
mySize <- CohortSizeConst(size=3)
# Determine the cohort size for the next cohort
sizeRecommendation <- size(mySize, dose=doseRecommendation$value, data = data)
# Rule for the safety window length:
# -having patientGap as (0,7,3,3,...) for cohort size <4
# -and having patientGap as (0,9,5,5,...) for cohort size >=4
myWindowLength <- SafetyWindowSize(gap = list(c(7,3),c(9,5)),
size = c(1,4),
follow = 7,
follow_min = 14)
# Determine the safety window parameters for the next cohort
windowLength(myWindowLength, size=sizeRecommendation)
#> $patientGap
#> [1] 0 7 3
#>
#> $patientFollow
#> [1] 7
#>
#> $patientFollowMin
#> [1] 14
#>
# nolint end
# nolint start
# Create the data
data <- DataDA(x=c(0.1, 0.5, 1.5, 3, 6, 10, 10, 10),
y=c(0, 0, 1, 1, 0, 0, 1, 0),
doseGrid=
c(0.1, 0.5, 1.5, 3, 6,
seq(from=10, to=80, by=2)),
u=c(42,30,15,5,20,25,30,60),
t0=c(0,15,30,40,55,70,75,85),
Tmax=60)
#> Used default patient IDs!
#> Used best guess cohort indices!
# Initialize the CRM model used to model the data
npiece_ <- 10
lambda_prior<-function(k){
npiece_/(data@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)
# Set-up some MCMC parameters and generate samples from the posterior
options <- McmcOptions(burnin=100,
step=2,
samples=200)
set.seed(94)
samples <- mcmc(data, model, options)
# Define the rule for dose increments and calculate the maximum dose allowed
myIncrements <- IncrementsRelative(intervals=c(0, 20),
increments=c(1, 0.33))
nextMaxDose <- maxDose(myIncrements,
data=data)
# Define the rule which will be used to select the next best dose
# based on the class 'NextBestNCRM'
myNextBest <- NextBestNCRM(target=c(0.2, 0.35),
overdose=c(0.35, 1),
max_overdose_prob=0.25)
# Calculate the next best dose
doseRecommendation <- nextBest(myNextBest,
doselimit=nextMaxDose,
samples=samples, model=model, data=data)
# Define the rule which will be used to select the next cohort size
# based on the class 'CohortSizeConst'
mySize <- CohortSizeConst(size=3)
# Determine the cohort size for the next cohort
sizeRecommendation <- size(mySize, dose=doseRecommendation$value, data = data)
# Rule for having safety window length with constant safety window parameters
myWindowLength <- SafetyWindowConst(gap = c(7,3),
follow = 7,
follow_min = 14)
# Determine the safety window parameters for the next cohort
windowLength(myWindowLength, size=sizeRecommendation)
#> $patientGap
#> [1] 0 7 3
#>
#> $patientFollow
#> [1] 7
#>
#> $patientFollowMin
#> [1] 14
#>
# nolint end