ASSISTDesign: A class to encapsulate the adaptive clinical trial design of...

ASSISTDesignR Documentation

A class to encapsulate the adaptive clinical trial design of Lai, Lavori and Liao

Description

ASSISTDesign objects are used to design, simulate and analyze adaptive group sequential clinical trial with three stages. For details refer to the paper Adaptive Choice of Patient Subgroup for Comparing Two Treatments by Tze Leung Lai and Philip W. Lavori and Olivia Yueh-Wen Liao. Contemporary Clinical Trials, Vol. 39, No. 2, pp 191-200 (2014).

Methods

Public methods


Method new()

Create a new ASSISTDesign instance using the parameters specified.

Usage
ASSISTDesign$new(
  designParameters,
  trialParameters,
  discreteData = FALSE,
  boundaries
)
Arguments
designParameters

parameters of the experimental design. Must contain apropriate distributions to sample from, if discreteData = TRUE

trialParameters

the trial parameters, such as sample size etc.

discreteData

a flag indicating that a discrete distribution is to be used for the Rankin scores

boundaries

decision boundaries to use for interim looks, a named vector of btilde, b and c values

Returns

a new AssistDesign object


Method getDesignParameters()

return the designParameters field

Usage
ASSISTDesign$getDesignParameters()

Method getTrialParameters()

return the trialParameters field

Usage
ASSISTDesign$getTrialParameters()

Method getBoundaries()

return the boundaries field

Usage
ASSISTDesign$getBoundaries()

Method setBoundaries()

Set the boundaries field

Usage
ASSISTDesign$setBoundaries(value)
Arguments
value

a named vector of btilde, b and c values


Method print()

Print details of the design to console

Usage
ASSISTDesign$print()

Method computeCriticalValues()

Compute the critical boundary values \tilde{b}, b and c for futility, efficacy and final efficacy decisions. This is time consuming so cache where possible.

Usage
ASSISTDesign$computeCriticalValues()
Returns

a named vector of critical values with names btilde, b, and c as in the paper


Method explore()

Explore the design using the specified number of simulations and random number seed and other parameters.

Usage
ASSISTDesign$explore(
  numberOfSimulations = 5000,
  rngSeed = 12345,
  trueParameters = self$getDesignParameters(),
  recordStats = TRUE,
  showProgress = TRUE,
  fixedSampleSize = FALSE,
  saveRawData = FALSE
)
Arguments
numberOfSimulations

default number of simulations is 5000

rngSeed

default seed is 12345

trueParameters

the state of nature, by default the value of self$getDesignParameters() as would be the case for a Type I error calculation. If changed, would yield power.

recordStats

a boolean flag (default TRUE) to record statistics

showProgress

a boolean flag to show progress, default TRUE

fixedSampleSize

a bollean flag indicating that patients lost after a futile overall look are not made up, default FALSE.

saveRawData

a flag (default FALSE) to indicate if raw data has to be saved

Returns

a list of results


Method performInterimLook()

Perform an interim look on trial data

Usage
ASSISTDesign$performInterimLook(
  trialData,
  stage,
  recordStats = FALSE,
  fixedSampleSize = FALSE
)
Arguments
trialData

trial data frame

stage

the trial stage

recordStats

a boolean flag to record all statistics

fixedSampleSize

a flag to use a fixed sample size to account for loss to follow up

Returns

the trial history


Method analyze()

Analyze the exploration data from trial

Usage
ASSISTDesign$analyze(trialExploration)
Arguments
trialExploration

the result of a call to explore() to simulate the design

Returns

Return a list of summary quantities


Method summary()

Print the operating characteristics of the design using the analysis data

Usage
ASSISTDesign$summary(analysis)
Arguments
analysis

the analysis result from the analyze() call


Method clone()

The objects of this class are cloneable with this method.

Usage
ASSISTDesign$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

LLL.SETTINGS for an explanation of trial parameters

Examples

## Not run: 
data(LLL.SETTINGS)
prevalence <- LLL.SETTINGS$prevalences$table1
scenario <- LLL.SETTINGS$scenarios$S0
designParameters <- list(prevalence = prevalence,
                         mean = scenario$mean,
                         sd = scenario$sd)
designA <- ASSISTDesign$new(trialParameters = LLL.SETTINGS$trialParameters,
                              designParameters = designParameters)
print(designA)
result <- designA$explore(showProgress = interactive())
analysis <- designA$analyze(result)
designA$summary(analysis)

## End(Not run)

ASSISTant documentation built on Dec. 2, 2022, 5:12 p.m.