Skip to contents

Group Sequential Design

Start with vignette("gsDesignPackageOverview"). Derive a design, inspect its operating characteristics, and round the design for implementation.

gsDesign-package
gsDesign: Group Sequential Design
gsDesign() xtable(<gsDesign>)
Design Derivation
plot(<gsDesign>) plot(<gsProbability>)
Plots for group sequential designs
gsProbability() print(<gsProbability>)
Boundary Crossing Probabilities
toInteger()
Translate group sequential design to integer events (survival designs) or sample size (other designs)

Design Summaries and Effect Scales

Summarize boundaries, power, spending, and approximate treatment effects. The shared gsBoundSummary() topic also documents summary(), gsDelta(), gsHR(), gsRR(), and related boundary transformations.

summary(<gsDesign>) print(<gsDesign>) gsBoundSummary() xprint() print(<gsBoundSummary>) gsBValue() gsDelta() gsRR() gsHR() gsCPz()
Bound Summary and Z-transformations
xtable
xtable
as_table()
Create a summary table
reexports lt
Objects exported from other packages
lt(<gsBinomialExactTable>)
Convert a summary table object to an lt table
lt(<gsVETable>)
Format a vaccine or prevention efficacy summary table
as_rtf()
Save a summary table object as an RTF file
as_gt()
Convert a summary table object to a gt object

Calibrating Spending to Interim Targets

Translate CP, predictive power, probability of success, or approximate treatment effect targets into spending function parameters. Start with vignette("CPFutilitySpending"), vignette("DragalinFutilitySpending"), or vignette("EffectSpending"). For conditional probability of success, gsCPOSFutilitySpending() supports both preserve power and fixed information modes; gsCAFutilitySpending() is the fixed information compatibility wrapper.

gsCPFutilitySpending()
Calibrate Futility Spending to Conditional Power Targets
gsPPFutilitySpending()
Calibrate Futility Spending to Predictive Power Targets
gsEffectSpending()
Calibrate Spending to Natural Scale Effects at Boundaries
gsPOSFutilitySpending()
Calibrate Futility Spending to Unconditional Probability of Success
gsCPOSFutilitySpending()
Calibrate Futility Spending to Conditional Probability of Success
gsCAFutilitySpending()
Calibrate Futility Spending at Fixed Information

Conditional Power and Probability of Success

Calculate CP and predictive power at an observed interim result, prior probability of success, or conditional probability of success given continuation. The shared gsCP() topic includes gsPP(), gsPOS(), gsCPOS(), gsPosterior(), and gsPI().

gsCP() gsPP() gsPI() gsPosterior() gsPOS() gsCPOS()
Conditional and Predictive Power, Overall and Conditional Probability of Success
gsBoundCP()
Conditional Power at Interim Boundaries
normalGrid()
Normal Density Grid
gsDensity()
Group sequential design interim density function

Sample Size Adaptation

Sample size re-estimation using conditional power and combination tests.

condPower() ssrCP() plot(<ssrCP>) z2NC() z2Z() z2Fisher() Power.ssrCP()
Sample size re-estimation based on conditional power

Spending Functions

Standard spending families, flexible piecewise spending, and spending modifications. See vignette("SpendingFunctionOverview"); calibration functions for clinical interim targets are listed separately above.

summary(<spendfn>) spendingFunction()
Spending Function
sfLDOF() sfLDPocock()
Lan-DeMets Spending function overview
sfHSD()
Hwang-Shih-DeCani Spending Function
sfPower()
Kim-DeMets (power) Spending Function
sfExponential()
Exponential Spending Function
sfLogistic() sfBetaDist() sfCauchy() sfExtremeValue() sfExtremeValue2() sfNormal()
Two-parameter Spending Function Families
sfTDist()
t-distribution Spending Function
sfLinear() sfStep()
Piecewise Linear and Step Function Spending Functions
sfPoints()
Pointwise Spending Function
sfTruncated() sfTrimmed() sfGapped()
Truncated, trimmed and gapped spending functions
sfXG1() sfXG2() sfXG3()
Xi and Gallo conditional error spending functions

Normal Endpoint Design

nNormal()
Normal distribution sample size (2-sample)

Two-Arm Binomial Endpoint Design

ciBinomial() nBinomial() simBinomial() testBinomial() varBinomial()
Testing, Confidence Intervals, Sample Size and Power for Comparing Two Binomial Rates
binomialPowerTable()
Power Table for Binomial Tests

Single-Arm Exact Binomial Design

Exact binomial group sequential designs, sequential probability ratio tests, and fixed design sample sizes.

Exact Binomial Monitoring and Vaccine/Prevention Efficacy

Transform survival designs to exact binomial monitoring, evaluate conditional power and sequential inference, and simulate seasonal rare-event trials.

toBinomialExact()
Translate survival design bounds to exact binomial bounds
VEtable()
Summarize an exact binomial vaccine or prevention efficacy design
ciBinomialExact()
Exact confidence intervals for vaccine or prevention efficacy
repeatedCIBinomialExact()
Exact repeated confidence intervals for vaccine or prevention efficacy
sequentialCIBinomialExact()
Exact sequential confidence intervals for vaccine or prevention efficacy
gsCPBinomialExact()
Exact conditional power for a group sequential binomial design
repeatedPValueBinomialExact()
Exact binomial repeated p-values for a group sequential design
sequentialPValueBinomialExact()
Exact binomial sequential p-value for a group sequential design
simBinomialSeasonalExact()
Simulate exact binomial seasonal monitoring scenarios

Time-to-Event Design and Power

Use gsSurv() for information-driven designs, gsSurvCalendar() for calendar time looks, and gsSurvPower() for power under a fixed plan. The shared gsSurv() topic includes nSurv(), nEventsIA(), and tEventsIA(). The earlier, more limited Lachin-Foulkes implementation and additional event count and hazard ratio conversions are documented in nSurvival().

tEventsIA() nEventsIA() nSurv() print(<nSurv>) xtable(<gsSurv>) gsSurv() print(<gsSurv>)
Advanced time-to-event sample size calculation
gsSurvCalendar()
Group sequential design with calendar-based timing of analyses
gsSurvPower()
Compute power for a group sequential survival design
print(<nSurvival>) nSurvival() nEvents() zn2hr() hrn2z() hrz2n()
Time-to-event sample size calculation (Lachin-Foulkes)

Survival Event Counts and Follow-Up

eEvents() print(<eEvents>)
Expected number of events for a time-to-event study
medianFollowUp() minMedianFollowUp()
Median follow-up across all planned participants
plotMinMedianFollowUp()
Plot median follow-up across all planned participants

Low-Level Boundary Computation and Input Checking

gsBound() gsBound1()
Boundary derivation - low level
sequentialPValue()
Sequential p-value computation
checkLengths() checkRange() checkScalar() checkVector() isInteger()
Utility functions to verify variable properties