Skip to contents

[Stable]

DualDesign is the class for the dual-endpoint CRM design. This class has special requirements for the model and data slots in comparison to the parent class Design.

Usage

DualDesign(model, data, ...)

.DefaultDualDesign()

Arguments

model

(DualEndpoint)
see slot definition.

data

(DataDual)
see slot definition.

...

Arguments passed on to Design

stopping

(Stopping)
see slot definition.

increments

(Increments)
see slot definition.

pl_cohort_size

(CohortSize)
see slot definition.

Slots

model

(DualEndpoint)
the model to be used.

data

(DataDual)
specifies dose grid, any previous data, etc.

Note

the nextBest slot can be of any class, this allows for easy comparison with recommendation methods that don't use the biomarker information.

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

Examples

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

# Initialize the CRM model.
my_model <- DualEndpointRW(
  mean = c(0, 1),
  cov = matrix(c(1, 0, 0, 1), nrow = 2),
  sigma2betaW = 0.01,
  sigma2W = c(a = 0.1, b = 0.1),
  rho = c(a = 1, b = 1),
  rw1 = TRUE
)

# Choose the rule for selecting the next dose.
my_next_best <- NextBestDualEndpoint(
  target = c(0.9, 1),
  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 <- StoppingTargetBiomarker(
  target = c(0.9, 1),
  prob = 0.5
)
my_stopping <- my_stopping1 | StoppingMinPatients(40)

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

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