getDesignGroupSequential()
getDesignInverseNormal()
getDesignFisher()
getDesignConditionalDunnett()33rd International Biometric Conference, Seoul, South Korea
RPACT
July 13, 2026


S+SeqTrial
shiny, tidyverse, dplyr, ggplot2

Sample size and power can be calulcated for testing:
Sample size calculation for a continuous endpoint
Sequential analysis with a maximum of 3 looks (group sequential design), one-sided overall significance level 2.5%, power 80%. The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect = 2, standard deviation = 5.
| Stage | 1 | 2 | 3 |
|---|---|---|---|
| Planned information rate | 33.3% | 66.7% | 100% |
| Cumulative alpha spent | 0.0001 | 0.0060 | 0.0250 |
| Stage levels (one-sided) | 0.0001 | 0.0060 | 0.0231 |
| Efficacy boundary (z-value scale) | 3.710 | 2.511 | 1.993 |
| Futility boundary (z-value scale) | 0 | 0 | |
| Efficacy boundary (t) | 4.690 | 2.152 | 1.384 |
| Futility boundary (t) | 0 | 0 | |
| Cumulative power | 0.0204 | 0.4371 | 0.8000 |
| Number of subjects | 69.9 | 139.9 | 209.8 |
| Expected number of subjects under H1 | 170.9 | ||
| Overall exit probability (under H0) | 0.5001 | 0.1309 | |
| Overall exit probability (under H1) | 0.0684 | 0.4202 | |
| Exit probability for efficacy (under H0) | 0.0001 | 0.0059 | |
| Exit probability for efficacy (under H1) | 0.0204 | 0.4167 | |
| Exit probability for futility (under H0) | 0.5000 | 0.1250 | |
| Exit probability for futility (under H1) | 0.0480 | 0.0035 |
Legend:
Obtain operating characteristics of different designs:
Why is rpact a reliable R package?
Rcpptestthat, ggplot2, R6rpact 4.3.0 (Wassmer and Pahlke 2025): 39,128 unit tests (82% test coverage)testPackage(): installation qualification on a client computer or the Roche servers (because of SLA in place)rpact release on CRANrpact installation qualification on Roche company servers / containers with your personal testPackage() token and secretrpact future development activitiesrpactrpact in a user friendly and intuitive way









crmPack provides a highly flexible framework for the design and analysis of dose escalation trials. This schematic illustrates the framework’s key components and their interactions:
crmPack Framework
library(crmPack)
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
)
# Run simulations.
truth <- function(dose) plogis(-0.85 + 1 * log(dose / 56))
sims <- simulate(
design,
nsim = 10,
seed = 123,
truth = truth,
McmcOptions = McmcOptions(rng_kind = "Marsenne-Twister", rng_seed = 123)
)crmPack release on CRAN (coming in 2026)crmPack installation qualification on each Roche computer (coming in 2026)crmPack future development activities (many new features in recent release!)rpact for confirmatory clinical trial designscrmPack for dose escalation trial designs