Skip to contents

[Stable]

Design is the class for rule-based designs. The difference between this class and its parent RuleDesign class is that Design class contains additional model, stopping and increments slots.

Usage

Design(model, stopping, increments, pl_cohort_size = CohortSizeConst(0L), ...)

.DefaultDesign()

Arguments

model

(GeneralModel)
see slot definition.

stopping

(Stopping)
see slot definition.

increments

(Increments)
see slot definition.

pl_cohort_size

(CohortSize)
see slot definition.

...

Arguments passed on to RuleDesign

nextBest

(NextBest)
see slot definition.

cohort_size

(CohortSize)
see slot definition.

data

(Data)
see slot definition.

startingDose

(number)
see slot definition.

Slots

model

(GeneralModel)
the model to be used.

stopping

(Stopping)
stopping rule(s) for the trial.

increments

(Increments)
how to control increments between dose levels.

pl_cohort_size

(CohortSize)
rules for the cohort sizes for placebo, if any planned (defaults to constant 0 placebo patients).

Note

Typically, end users will not use the .DefaultDesign() function.

Examples

empty_data <- Data(doseGrid = c(1, 3, 5, 10, 15, 20, 25, 40, 50, 80, 100))

# Initialize the CRM model.
my_model <- LogisticLogNormal(
  mean = c(-0.85, 1),
  cov = matrix(c(1, -0.5, -0.5, 1), nrow = 2),
  ref_dose = 56
)

# Choose the rule for selecting the next dose.
my_next_best <- NextBestNCRM(
  target = c(0.2, 0.35),
  overdose = c(0.35, 1),
  max_overdose_prob = 0.25
)

# Choose the rule for the cohort-size.
my_size1 <- CohortSizeRange(
  intervals = c(0, 30),
  cohort_size = c(1, 3)
)
my_size2 <- CohortSizeDLT(
  intervals = c(0, 1),
  cohort_size = c(1, 3)
)
my_size <- maxSize(my_size1, my_size2)

# Choose the rule for stopping.
my_stopping1 <- StoppingMinCohorts(nCohorts = 3)
my_stopping2 <- StoppingTargetProb(
  target = c(0.2, 0.35),
  prob = 0.5
)
my_stopping3 <- StoppingMinPatients(nPatients = 20)
my_stopping <- (my_stopping1 & my_stopping2) | my_stopping3

# Choose the rule for dose increments.
my_increments <- IncrementsRelative(
  intervals = c(0, 20),
  increments = c(1, 0.33)
)

# Initialize the design.
design <- Design(
  model = my_model,
  nextBest = my_next_best,
  stopping = my_stopping,
  increments = my_increments,
  cohort_size = my_size,
  data = empty_data,
  startingDose = 3
)