Learn R Programming

goldilocks

The goal of goldilocks is to implement the Goldilocks Bayesian adaptive design proposed by Broglio et al. (2014) for time-to-event endpoint trials, both one- and two-arm, with an underlying piecewise exponential hazard model.

The method can be used for a confirmatory trial to select a trial’s sample size based on accumulating data. During accrual, frequent sample size selection analyses are made and predictive probabilities are used to determine whether the current sample size is sufficient or whether continuing accrual would be futile. The algorithm explicitly accounts for complete follow-up of all patients before the primary analysis is conducted. Final analysis tests include the log-rank test, Cox proportional hazards regression Wald test, and a Bayesian test that compares the absolute difference in cumulative incidence functions at a fixed time point.

Broglio et al. (2014) refer to this as a Goldilocks trial design, as it is constantly asking the question, “Is the sample size too big, too small, or just right?”

Key benefits

Other software and R packages are available to implement this algorithm. However, when designing studies it is generally required that many thousands of trials are simulated to adequately characterize the operating characteristics, e.g. type I error and power. Hence, a computationally efficient and fast algorithm is helpful. The goldilocks package takes advantage of many tools to achieve this:

  • Log-rank tests are implemented via the fastlogranktest package, which uses a lightweight C++ implementation

  • Piecewise exponential simulation is implemented via the PWEALL package, which uses a lightweight Fortran implementation

  • Simulation of multiple trials can be performed in parallel using the pbmcapply package

References

Broglio KR, Connor JT, Berry SM. Not too big, not too small: a Goldilocks approach to sample size selection. Journal of Biopharmaceutical Statistics, 2014; 24(3): 685–705.

Installation

You can install the development version of goldilocks GitHub with:

# install.packages("devtools")
devtools::install_github("graemeleehickey/goldilocks")

Copy Link

Version

Install

install.packages('goldilocks')

Monthly Downloads

24

Version

0.3.0

License

GPL-3

Last Published

May 10th, 2021

Functions in goldilocks (0.3.0)

sim_trials

Simulate one or more clinical trials subject to known design parameters and treatment effect
pwe_sim

Simulate piecewise exponential time-to-event outcomes
goldilocks

goldilocks
summarise_sims

Summarize simulations to get operating characteristics
enrollment

Simulate enrollment times
prop_to_haz

Estimate plausible piecewise constant hazard rates from summary summary event proportions
survival_adapt

Simulate a single adaptive clinical trial with a time-to-event endpoint
ppwe

Cumulative distribution function of the PWE for a vectorized hazard rate parameter
randomization

Randomization allocation
pwe_impute

Impute piecewise exponential time-to-event outcomes