library(rpact)
packageVersion("rpact")
How to Create Summaries with rpact
Global options
First, load the rpact package
[1] '4.1.1.9280'
The following options can be set globally:
rpact.summary.output.size
: one of c("small", "medium", "large")
; defines how many details will be included into the summary; default is “large”, i.e., all available details are displayed.
rpact.summary.justify
: one of c("right", "left", "centre")
; shall the values be right-justified (the default), left-justified or centered.
rpact.summary.intervalFormat
: defines how intervals will be displayed in the summary, default is "[%s; %s]"
.
rpact.summary.digits
: defines how many digits are to be used for numeric values (default is 3).
rpact.summary.digits.probs
: defines how many digits are to be used for numeric values which refer to probabilities (default is one more than value of rpact.summary.digits
, i.e., 4).
rpact.summary.trim.zeroes
: if TRUE
(default), zeroes will be displayed as “0”, e.g., “0.000” will become “0”.
Examples
options("rpact.summary.output.size" = "small") # small, medium, large
options("rpact.summary.output.size" = "medium") # small, medium, large
options("rpact.summary.output.size" = "large") # small, medium, large
options("rpact.summary.intervalFormat" = "[%s; %s]")
options("rpact.summary.intervalFormat" = "%s - %s")
options("rpact.summary.justify" = "left")
options("rpact.summary.justify" = "centre")
options("rpact.summary.justify" = "right")
Design summaries
getDesignGroupSequential(
beta = 0.05,
typeOfDesign = "asKD",
gammaA = 1,
typeBetaSpending = "bsOF"
|>
) summary()
Sequential analysis with a maximum of 3 looks (group sequential design)
Kim & DeMets alpha spending design (gammaA = 1) and O’Brien & Fleming type beta spending, non-binding futility, one-sided overall significance level 2.5%, power 95%, undefined endpoint, inflation factor 1.1247, ASN H1 0.6553, ASN H01 0.8792, ASN H0 0.7415.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0083 | 0.0167 | 0.0250 |
Cumulative beta spent | 0.0007 | 0.0164 | 0.0500 |
Stage levels (one-sided) | 0.0083 | 0.0109 | 0.0139 |
Efficacy boundary (z-value scale) | 2.394 | 2.294 | 2.200 |
Futility boundary (z-value scale) | -0.993 | 0.982 | |
Cumulative power | 0.4259 | 0.8092 | 0.9500 |
Futility probabilities under H1 | <0.001 | 0.016 |
getDesignGroupSequential(kMax = 1) |>
summary()
Fixed sample analysis
Fixed design, one-sided significance level 2.5%, power 80%, undefined endpoint.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
getDesignGroupSequential(
kMax = 4,
sided = 2
|>
) summary()
Sequential analysis with a maximum of 4 looks (group sequential design)
O’Brien & Fleming design, two-sided overall significance level 2.5%, power 80%, undefined endpoint, inflation factor 1.017, ASN H1 0.8458, ASN H01 0.9876, ASN H0 1.0144.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Planned information rate | 25% | 50% | 75% | 100% |
Cumulative alpha spent | <0.0001 | 0.0012 | 0.0086 | 0.0250 |
Stage levels (two-sided) | <0.0001 | 0.0012 | 0.0082 | 0.0221 |
Efficacy boundary (z-value scale) | 4.579 | 3.238 | 2.644 | 2.289 |
Cumulative power | 0.0012 | 0.1494 | 0.5227 | 0.8000 |
getDesignGroupSequential(
kMax = 4,
sided = 2
|>
) summary(digits = 0)
Sequential analysis with a maximum of 4 looks (group sequential design)
O’Brien & Fleming design, two-sided overall significance level 2.5%, power 80%, undefined endpoint, inflation factor 1.017, ASN H1 0.8458, ASN H01 0.9876, ASN H0 1.0144.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Planned information rate | 25% | 50% | 75% | 100% |
Cumulative alpha spent | 0.000004679 | 0.001207215 | 0.008644578 | 0.024999990 |
Stage levels (two-sided) | 0.000004679 | 0.001205239 | 0.008204894 | 0.022058711 |
Efficacy boundary (z-value scale) | 4.579 | 3.238 | 2.644 | 2.289 |
Cumulative power | 0.001247 | 0.149399 | 0.522709 | 0.800000 |
getDesignGroupSequential(
futilityBounds = c(-6, 0)
|>
) summary(digits = 5)
Sequential analysis with a maximum of 3 looks (group sequential design)
O’Brien & Fleming design, non-binding futility, one-sided overall significance level 2.5%, power 80%, undefined endpoint, inflation factor 1.0178, ASN H1 0.8529, ASN H01 0.9413, ASN H0 0.8457.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.000259 | 0.007160 | 0.025000 |
Stage levels (one-sided) | 0.000259 | 0.007055 | 0.022533 |
Efficacy boundary (z-value scale) | 3.47109 | 2.45443 | 2.00404 |
Futility boundary (z-value scale) | -Inf | 0 | |
Cumulative power | 0.032939 | 0.442575 | 0.800000 |
Futility probabilities under H1 | 0 | 0.01051 |
Design plan summaries
Design plan summaries - means
getSampleSizeMeans(
sided = 2,
alternative = -0.5
|>
) summary()
Sample size calculation for a continuous endpoint
Fixed sample analysis, two-sided significance level 2.5%, power 80%. The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect = -0.5, standard deviation = 1.
Stage | Fixed |
---|---|
Stage level (two-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 2.241 |
Lower efficacy boundary (t) | -0.364 |
Upper efficacy boundary (t) | 0.364 |
Number of subjects | 154.6 |
Legend:
- (t): treatment effect scale
getPowerMeans(
sided = 1,
alternative = c(-0.5, -0.3),
maxNumberOfSubjects = 100,
directionUpper = FALSE
|>
) summary()
Power calculation for a continuous endpoint
Fixed sample analysis, one-sided significance level 2.5%. The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, power directed towards smaller values, H1: effect as specified, standard deviation = 1, number of subjects = 100.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t) | -0.397 |
Power, alt. = -0.5 | 0.6969 |
Power, alt. = -0.3 | 0.3175 |
Number of subjects | 100.0 |
Legend:
- (t): treatment effect scale
- alt.: alternative
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getSampleSizeMeans() |>
summary(digits = 0)
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 as specified, standard deviation = 1.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0002592 | 0.0071601 | 0.0250000 |
Stage levels (one-sided) | 0.0002592 | 0.0070554 | 0.0225331 |
Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |
Futility boundary (z-value scale) | 1.000 | 2.000 | |
Efficacy boundary (t), alt. = 0.2 | 0.322 | 0.160 | 0.107 |
Efficacy boundary (t), alt. = 0.4 | 0.655 | 0.321 | 0.213 |
Efficacy boundary (t), alt. = 0.6 | 1.013 | 0.483 | 0.319 |
Efficacy boundary (t), alt. = 0.8 | 1.413 | 0.646 | 0.424 |
Efficacy boundary (t), alt. = 1 | 1.882 | 0.812 | 0.528 |
Futility boundary (t), alt. = 0.2 | 0.0921 | 0.1303 | |
Futility boundary (t), alt. = 0.4 | 0.184 | 0.261 | |
Futility boundary (t), alt. = 0.6 | 0.276 | 0.391 | |
Futility boundary (t), alt. = 0.8 | 0.368 | 0.522 | |
Futility boundary (t), alt. = 1 | 0.459 | 0.653 | |
Cumulative power | 0.09667 | 0.70304 | 0.80000 |
Number of subjects, alt. = 0.2 | 472.2 | 944.4 | 1416.5 |
Number of subjects, alt. = 0.4 | 118.9 | 237.8 | 356.8 |
Number of subjects, alt. = 0.6 | 53.5 | 107 | 160.5 |
Number of subjects, alt. = 0.8 | 30.6 | 61.3 | 91.9 |
Number of subjects, alt. = 1 | 20.1 | 40.1 | 60.2 |
Expected number of subjects under H1, alt. = 0.2 | 888.9 | ||
Expected number of subjects under H1, alt. = 0.4 | 223.9 | ||
Expected number of subjects under H1, alt. = 0.6 | 100.7 | ||
Expected number of subjects under H1, alt. = 0.8 | 57.7 | ||
Expected number of subjects under H1, alt. = 1 | 37.8 | ||
Overall exit probability (under H0) | 0.8416 | 0.1462 | |
Overall exit probability (under H1) | 0.2176 | 0.6822 | |
Exit probability for efficacy (under H0) | 0.0002592 | 0.0062354 | |
Exit probability for efficacy (under H1) | 0.09667 | 0.60637 | |
Exit probability for futility (under H0) | 0.8413 | 0.1400 | |
Exit probability for futility (under H1) | 0.12094 | 0.07581 |
Legend:
- (t): treatment effect scale
- alt.: alternative
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getPowerMeans(
maxNumberOfSubjects = 100,
alternative = 1
|>
) summary()
Power calculation for a continuous endpoint
Sequential analysis with a maximum of 3 looks (group sequential design), one-sided overall significance level 2.5%. The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, power directed towards larger values, H1: effect = 1, standard deviation = 1, maximum number of subjects = 100.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |
Stage levels (one-sided) | 0.0003 | 0.0071 | 0.0225 |
Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |
Futility boundary (z-value scale) | 1.000 | 2.000 | |
Efficacy boundary (t) | 1.340 | 0.618 | 0.406 |
Futility boundary (t) | 0.352 | 0.500 | |
Cumulative power | 0.2700 | 0.9281 | 0.9563 |
Number of subjects | 33.3 | 66.7 | 100.0 |
Expected number of subjects under H1 | 57.6 | ||
Overall exit probability (under H0) | 0.8416 | 0.1462 | |
Overall exit probability (under H1) | 0.3015 | 0.6702 | |
Exit probability for efficacy (under H0) | 0.0003 | 0.0062 | |
Exit probability for efficacy (under H1) | 0.2700 | 0.6582 | |
Exit probability for futility (under H0) | 0.8413 | 0.1400 | |
Exit probability for futility (under H1) | 0.0316 | 0.0120 |
Legend:
- (t): treatment effect scale
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getSampleSizeMeans() |>
summary(digits = 3)
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 as specified, standard deviation = 1.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |
Stage levels (one-sided) | 0.0003 | 0.0071 | 0.0225 |
Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |
Futility boundary (z-value scale) | 1.000 | 2.000 | |
Efficacy boundary (t), alt. = 0.2 | 0.322 | 0.160 | 0.107 |
Efficacy boundary (t), alt. = 0.4 | 0.655 | 0.321 | 0.213 |
Efficacy boundary (t), alt. = 0.6 | 1.013 | 0.483 | 0.319 |
Efficacy boundary (t), alt. = 0.8 | 1.413 | 0.646 | 0.424 |
Efficacy boundary (t), alt. = 1 | 1.882 | 0.812 | 0.528 |
Futility boundary (t), alt. = 0.2 | 0.092 | 0.130 | |
Futility boundary (t), alt. = 0.4 | 0.184 | 0.261 | |
Futility boundary (t), alt. = 0.6 | 0.276 | 0.391 | |
Futility boundary (t), alt. = 0.8 | 0.368 | 0.522 | |
Futility boundary (t), alt. = 1 | 0.459 | 0.653 | |
Cumulative power | 0.0967 | 0.7030 | 0.8000 |
Number of subjects, alt. = 0.2 | 472.2 | 944.4 | 1416.5 |
Number of subjects, alt. = 0.4 | 118.9 | 237.8 | 356.8 |
Number of subjects, alt. = 0.6 | 53.5 | 107.0 | 160.5 |
Number of subjects, alt. = 0.8 | 30.6 | 61.3 | 91.9 |
Number of subjects, alt. = 1 | 20.1 | 40.1 | 60.2 |
Expected number of subjects under H1, alt. = 0.2 | 888.9 | ||
Expected number of subjects under H1, alt. = 0.4 | 223.9 | ||
Expected number of subjects under H1, alt. = 0.6 | 100.7 | ||
Expected number of subjects under H1, alt. = 0.8 | 57.7 | ||
Expected number of subjects under H1, alt. = 1 | 37.8 | ||
Overall exit probability (under H0) | 0.8416 | 0.1462 | |
Overall exit probability (under H1) | 0.2176 | 0.6822 | |
Exit probability for efficacy (under H0) | 0.0003 | 0.0062 | |
Exit probability for efficacy (under H1) | 0.0967 | 0.6064 | |
Exit probability for futility (under H0) | 0.8413 | 0.1400 | |
Exit probability for futility (under H1) | 0.1209 | 0.0758 |
Legend:
- (t): treatment effect scale
- alt.: alternative
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getSampleSizeMeans() |>
summary(digits = 0)
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 as specified, standard deviation = 1.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0002592 | 0.0071601 | 0.0250000 |
Stage levels (one-sided) | 0.0002592 | 0.0070554 | 0.0225331 |
Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |
Futility boundary (z-value scale) | 1.000 | 2.000 | |
Efficacy boundary (t), alt. = 0.2 | 0.322 | 0.160 | 0.107 |
Efficacy boundary (t), alt. = 0.4 | 0.655 | 0.321 | 0.213 |
Efficacy boundary (t), alt. = 0.6 | 1.013 | 0.483 | 0.319 |
Efficacy boundary (t), alt. = 0.8 | 1.413 | 0.646 | 0.424 |
Efficacy boundary (t), alt. = 1 | 1.882 | 0.812 | 0.528 |
Futility boundary (t), alt. = 0.2 | 0.0921 | 0.1303 | |
Futility boundary (t), alt. = 0.4 | 0.184 | 0.261 | |
Futility boundary (t), alt. = 0.6 | 0.276 | 0.391 | |
Futility boundary (t), alt. = 0.8 | 0.368 | 0.522 | |
Futility boundary (t), alt. = 1 | 0.459 | 0.653 | |
Cumulative power | 0.09667 | 0.70304 | 0.80000 |
Number of subjects, alt. = 0.2 | 472.2 | 944.4 | 1416.5 |
Number of subjects, alt. = 0.4 | 118.9 | 237.8 | 356.8 |
Number of subjects, alt. = 0.6 | 53.5 | 107 | 160.5 |
Number of subjects, alt. = 0.8 | 30.6 | 61.3 | 91.9 |
Number of subjects, alt. = 1 | 20.1 | 40.1 | 60.2 |
Expected number of subjects under H1, alt. = 0.2 | 888.9 | ||
Expected number of subjects under H1, alt. = 0.4 | 223.9 | ||
Expected number of subjects under H1, alt. = 0.6 | 100.7 | ||
Expected number of subjects under H1, alt. = 0.8 | 57.7 | ||
Expected number of subjects under H1, alt. = 1 | 37.8 | ||
Overall exit probability (under H0) | 0.8416 | 0.1462 | |
Overall exit probability (under H1) | 0.2176 | 0.6822 | |
Exit probability for efficacy (under H0) | 0.0002592 | 0.0062354 | |
Exit probability for efficacy (under H1) | 0.09667 | 0.60637 | |
Exit probability for futility (under H0) | 0.8413 | 0.1400 | |
Exit probability for futility (under H1) | 0.12094 | 0.07581 |
Legend:
- (t): treatment effect scale
- alt.: alternative
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getSampleSizeMeans() |>
summary(digits = -1)
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 as specified, standard deviation = 1.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.000259173723496486 | 0.00716005940148245 | 0.02499999 |
Stage levels (one-sided) | 0.000259173723496486 | 0.00705536161371012 | 0.0225331246048346 |
Efficacy boundary (z-value scale) | 3.4710914446541 | 2.45443229863353 | 2.00403557995285 |
Futility boundary (z-value scale) | 1 | 2 | |
Efficacy boundary (t), alt. = 0.2 | 0.321710839190306 | 0.160038360077678 | 0.106587932791278 |
Efficacy boundary (t), alt. = 0.4 | 0.654823493383807 | 0.320689953155167 | 0.212954736915397 |
Efficacy boundary (t), alt. = 0.6 | 1.01268266453837 | 0.482561132966477 | 0.318855026247289 |
Efficacy boundary (t), alt. = 0.8 | 1.41302933799472 | 0.646240615813089 | 0.4239964819812 |
Efficacy boundary (t), alt. = 1 | 1.88164819392791 | 0.812280944461674 | 0.52802083832574 |
Futility boundary (t), alt. = 0.2 | 0.09213829 | 0.13033753 | |
Futility boundary (t), alt. = 0.4 | 0.18418994 | 0.26075187 | |
Futility boundary (t), alt. = 0.6 | 0.27608063 | 0.39130341 | |
Futility boundary (t), alt. = 0.8 | 0.36776309 | 0.52201903 | |
Futility boundary (t), alt. = 1 | 0.45923643 | 0.65287366 | |
Cumulative power | 0.0966650610605349 | 0.703040057014069 | 0.80000000002314 |
Number of subjects, alt. = 0.2 | 472.175971190541 | 944.351942381081 | 1416.52791357162 |
Number of subjects, alt. = 0.4 | 118.91882087368 | 237.83764174736 | 356.75646262104 |
Number of subjects, alt. = 0.6 | 53.5130463596034 | 107.026092719207 | 160.53913907881 |
Number of subjects, alt. = 0.8 | 30.635272552971 | 61.2705451059419 | 91.9058176589129 |
Number of subjects, alt. = 1 | 20.061450159433 | 40.122900318866 | 60.184350478299 |
Expected number of subjects under H1, alt. = 0.2 | 888.920027605175 | ||
Expected number of subjects under H1, alt. = 0.4 | 223.876961098363 | ||
Expected number of subjects under H1, alt. = 0.6 | 100.743836089914 | ||
Expected number of subjects under H1, alt. = 0.8 | 57.6740643002559 | ||
Expected number of subjects under H1, alt. = 1 | 37.7677516807113 | ||
Overall exit probability (under H0) | 0.841603919792039 | 0.146222739762505 | |
Overall exit probability (under H1) | 0.217605032843877 | 0.682186663832684 | |
Exit probability for efficacy (under H0) | 0.000259173723496486 | 0.00623541950983217 | |
Exit probability for efficacy (under H1) | 0.0966650610605349 | 0.606374995953535 | |
Exit probability for futility (under H0) | 0.841344746068543 | 0.139987320252672 | |
Exit probability for futility (under H1) | 0.120939971783342 | 0.0758116678791494 |
Legend:
- (t): treatment effect scale
- alt.: alternative
Design plan summaries - rates
getSampleSizeRates(pi2 = 0.3) |>
summary()
Sample size calculation for a binary endpoint
Fixed sample analysis, one-sided significance level 2.5%, power 80%. The results were calculated for a two-sample test for rates (normal approximation), H0: pi(1) - pi(2) = 0, H1: pi(1) as specified, control rate pi(2) = 0.3.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t), pi(1) = 0.4 | 0.069 |
Efficacy boundary (t), pi(1) = 0.5 | 0.139 |
Efficacy boundary (t), pi(1) = 0.6 | 0.210 |
Number of subjects, pi(1) = 0.4 | 711.9 |
Number of subjects, pi(1) = 0.5 | 186.0 |
Number of subjects, pi(1) = 0.6 | 83.9 |
Legend:
- (t): treatment effect scale
getDesignGroupSequential(futilityBounds = c(1, 2)) |>
getSampleSizeRates() |>
summary()
Sample size calculation for a binary 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 test for rates (normal approximation), H0: pi(1) - pi(2) = 0, H1: pi(1) as specified, control rate pi(2) = 0.2.
Stage | 1 | 2 | 3 |
---|---|---|---|
Planned information rate | 33.3% | 66.7% | 100% |
Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |
Stage levels (one-sided) | 0.0003 | 0.0071 | 0.0225 |
Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |
Futility boundary (z-value scale) | 1.000 | 2.000 | |
Efficacy boundary (t), pi(1) = 0.4 | 0.339 | 0.158 | 0.102 |
Efficacy boundary (t), pi(1) = 0.5 | 0.509 | 0.238 | 0.152 |
Efficacy boundary (t), pi(1) = 0.6 | 0.669 | 0.322 | 0.205 |
Futility boundary (t), pi(1) = 0.4 | 0.087 | 0.126 | |
Futility boundary (t), pi(1) = 0.5 | 0.130 | 0.190 | |
Futility boundary (t), pi(1) = 0.6 | 0.175 | 0.257 | |
Cumulative power | 0.0967 | 0.7030 | 0.8000 |
Number of subjects, pi(1) = 0.4 | 97.5 | 195.0 | 292.5 |
Number of subjects, pi(1) = 0.5 | 46.2 | 92.4 | 138.6 |
Number of subjects, pi(1) = 0.6 | 26.8 | 53.6 | 80.4 |
Expected number of subjects under H1, pi(1) = 0.4 | 183.5 | ||
Expected number of subjects under H1, pi(1) = 0.5 | 86.9 | ||
Expected number of subjects under H1, pi(1) = 0.6 | 50.5 | ||
Overall exit probability (under H0) | 0.8416 | 0.1462 | |
Overall exit probability (under H1) | 0.2176 | 0.6822 | |
Exit probability for efficacy (under H0) | 0.0003 | 0.0062 | |
Exit probability for efficacy (under H1) | 0.0967 | 0.6064 | |
Exit probability for futility (under H0) | 0.8413 | 0.1400 | |
Exit probability for futility (under H1) | 0.1209 | 0.0758 |
Legend:
- (t): treatment effect scale
getDesignGroupSequential(
kMax = 1,
sided = 2
|>
) getSampleSizeRates(
groups = 1,
thetaH0 = 0.2,
pi1 = c(0.4, 0.4)
|>
) summary()
Sample size calculation for a binary endpoint
Fixed sample analysis, two-sided significance level 2.5%, power 80%. The results were calculated for a one-sample test for rates (normal approximation), H0: pi = 0.2, H1: pi as specified.
Stage | Fixed |
---|---|
Stage level (two-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 2.241 |
Lower efficacy boundary (t), pi(1) = 0.4 | 0.063 |
Lower efficacy boundary (t), pi(1) = 0.4 | 0.063 |
Upper efficacy boundary (t), pi(1) = 0.4 | 0.337 |
Upper efficacy boundary (t), pi(1) = 0.4 | 0.337 |
Number of subjects, pi(1) = 0.4 | 42.8 |
Number of subjects, pi(1) = 0.4 | 42.8 |
Legend:
- (t): treatment effect scale
Design plan summaries - survival
getSampleSizeSurvival(
lambda2 = 0.3,
hazardRatio = 1.2
|>
) summary()
Sample size calculation for a survival endpoint
Fixed sample analysis, one-sided significance level 2.5%, power 80%. The results were calculated for a two-sample logrank test, H0: hazard ratio = 1, H1: hazard ratio = 1.2, control lambda(2) = 0.3, accrual time = 12, accrual intensity = 81.6, follow-up time = 6.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t) | 1.136 |
Number of subjects | 979.2 |
Number of events | 944.5 |
Analysis time | 18.00 |
Expected study duration under H1 | 18.00 |
Legend:
- (t): treatment effect scale
getSampleSizeSurvival(
median1 = c(3.1, 3.2),
median2 = 2.3
|>
) summary()
Sample size calculation for a survival endpoint
Fixed sample analysis, one-sided significance level 2.5%, power 80%. The results were calculated for a two-sample logrank test, H0: hazard ratio = 1, H1: treatment median(1) as specified, control median(2) = 2.3, accrual time = 12, follow-up time = 6.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t), median(1) = 3.1 | 0.812 |
Efficacy boundary (t), median(1) = 3.2 | 0.794 |
Number of subjects, median(1) = 3.1 | 377.9 |
Number of subjects, median(1) = 3.2 | 309.7 |
Number of events, median(1) = 3.1 | 352.4 |
Number of events, median(1) = 3.2 | 287.9 |
Analysis time | 18.00 |
Expected study duration under H1, median(1) = 3.1 | 18.00 |
Expected study duration under H1, median(1) = 3.2 | 18.00 |
Legend:
- (t): treatment effect scale
getSampleSizeSurvival(
pi1 = 0.1,
pi2 = 0.3
|>
) summary()
Sample size calculation for a survival endpoint
Fixed sample analysis, one-sided significance level 2.5%, power 80%. The results were calculated for a two-sample logrank test, H0: hazard ratio = 1, H1: treatment pi(1) = 0.1, control pi(2) = 0.3, event time = 12, accrual time = 12, accrual intensity = 8.9, follow-up time = 6.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t) | 0.426 |
Number of subjects | 106.7 |
Number of events | 21.1 |
Analysis time | 18.00 |
Expected study duration under H1 | 18.00 |
Legend:
- (t): treatment effect scale
<- list(
piecewiseSurvivalTime "0 - <6" = 0.025,
"6 - <9" = 0.04,
"9 - <15" = 0.015,
"15 - <21" = 0.01,
">= 21" = 0.007
)
getSampleSizeSurvival(
piecewiseSurvivalTime = piecewiseSurvivalTime,
hazardRatio = 1.2
|>
) summary()
Sample size calculation for a survival endpoint
Fixed sample analysis, one-sided significance level 2.5%, power 80%. The results were calculated for a two-sample logrank test, H0: hazard ratio = 1, H1: hazard ratio = 1.2, piecewise survival distribution, piecewise survival time = c(0, 6, 9, 15, 21), control lambda(2) = c(0.025, 0.04, 0.015, 0.01, 0.007), accrual time = 12, accrual intensity = 279.2, follow-up time = 6.
Stage | Fixed |
---|---|
Stage level (one-sided) | 0.0250 |
Efficacy boundary (z-value scale) | 1.960 |
Efficacy boundary (t) | 1.136 |
Number of subjects | 3350.9 |
Number of events | 944.5 |
Analysis time | 18.00 |
Expected study duration under H1 | 18.00 |
Legend:
- (t): treatment effect scale
Simulation results summaries
Simulation results base
Simulation results base - means
getDesignInverseNormal(
kMax = 3,
alpha = 0.025,
futilityBounds = c(-0.5, 0),
bindingFutility = FALSE,
typeOfDesign = "WT",
deltaWT = 0.25,
informationRates = c(0.4, 0.7, 1)
|>
) getSimulationMeans(
plannedSubjects = c(40, 70, 100),
alternative = seq(0, 0.8, 0.2),
stDev = 1.2,
conditionalPower = 0.8,
minNumberOfSubjectsPerStage = c(40, 20, 20),
maxNumberOfSubjectsPerStage = c(40, 100, 100),
thetaH1 = 0.6,
stDevH1 = 1.5,
maxNumberOfIterations = 1000,
seed = 1234
|>
) summary()
Simulation of a continuous endpoint
Sequential analysis with a maximum of 3 looks (inverse normal combination test design), one-sided overall significance level 2.5%. The results were simulated for a two-sample t-test (normal approximation), H0: mu(1) - mu(2) = 0, power directed towards larger values, H1: effect as specified, standard deviation = 1.2, planned cumulative sample size = c(40, 70, 100), sample size reassessment: conditional power = 0.8, minimum subjects per stage = c(40, 20, 20), maximum subjects per stage = c(40, 100, 100), theta H1 = 0.6, standard deviation H1 = 1.5, simulation runs = 1000, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 0.632 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0043 | 0.0134 | 0.0250 |
Stage levels (one-sided) | 0.0043 | 0.0111 | 0.0182 |
Efficacy boundary (z-value scale) | 2.631 | 2.287 | 2.092 |
Futility boundary (z-value scale) | -0.500 | 0.000 | |
Cumulative power, alt. = 0 | 0.0040 | 0.0110 | 0.0270 |
Cumulative power, alt. = 0.2 | 0.0190 | 0.0960 | 0.2090 |
Cumulative power, alt. = 0.4 | 0.0390 | 0.3250 | 0.6260 |
Cumulative power, alt. = 0.6 | 0.1330 | 0.7100 | 0.9300 |
Cumulative power, alt. = 0.8 | 0.2830 | 0.9320 | 0.9930 |
Stage-wise number of subjects, alt. = 0 | 40.0 | 99.3 | 98.1 |
Stage-wise number of subjects, alt. = 0.2 | 40.0 | 98.6 | 95.0 |
Stage-wise number of subjects, alt. = 0.4 | 40.0 | 96.8 | 86.6 |
Stage-wise number of subjects, alt. = 0.6 | 40.0 | 93.5 | 75.7 |
Stage-wise number of subjects, alt. = 0.8 | 40.0 | 88.9 | 73.3 |
Expected number of subjects under H1, alt. = 0 | 151.5 | ||
Expected number of subjects under H1, alt. = 0.2 | 186.1 | ||
Expected number of subjects under H1, alt. = 0.4 | 179.3 | ||
Expected number of subjects under H1, alt. = 0.6 | 139.1 | ||
Expected number of subjects under H1, alt. = 0.8 | 108.2 | ||
Conditional power (achieved), alt. = 0 | 0.2206 | 0.3011 | |
Conditional power (achieved), alt. = 0.2 | 0.3112 | 0.4507 | |
Conditional power (achieved), alt. = 0.4 | 0.4009 | 0.5970 | |
Conditional power (achieved), alt. = 0.6 | 0.5292 | 0.7151 | |
Conditional power (achieved), alt. = 0.8 | 0.6066 | 0.7396 | |
Exit probability for efficacy, alt. = 0 | 0.0040 | 0.0070 | |
Exit probability for efficacy, alt. = 0.2 | 0.0190 | 0.0770 | |
Exit probability for efficacy, alt. = 0.4 | 0.0390 | 0.2860 | |
Exit probability for efficacy, alt. = 0.6 | 0.1330 | 0.5770 | |
Exit probability for efficacy, alt. = 0.8 | 0.2830 | 0.6490 | |
Exit probability for futility, alt. = 0 | 0.3200 | 0.2170 | |
Exit probability for futility, alt. = 0.2 | 0.1500 | 0.0790 | |
Exit probability for futility, alt. = 0.4 | 0.0610 | 0.0110 | |
Exit probability for futility, alt. = 0.6 | 0.0230 | 0 | |
Exit probability for futility, alt. = 0.8 | 0.0030 | 0 |
Legend:
- alt.: alternative
Simulation results base - rates
getDesignFisher(
kMax = 3,
alpha = 0.025,
alpha0Vec = c(0.5, 0.4),
bindingFutility = FALSE,
informationRates = c(0.4, 0.7, 1)
|>
) getSimulationRates(
plannedSubjects = c(40, 70, 100),
groups = 1,
thetaH0 = 0.2,
pi1 = seq(0.05, 0.2, 0.05),
directionUpper = FALSE,
maxNumberOfIterations = 1000,
seed = 1234
|>
) summary()
Simulation of a binary endpoint
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 2.5%. The results were simulated for a one-sample test for rates (normal approximation), H0: pi = 0.2, power directed towards smaller values, H1: pi as specified, planned cumulative sample size = c(40, 70, 100), simulation runs = 1000, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 0.866 | 0.866 |
Cumulative alpha spent | 0.0132 | 0.0199 | 0.0250 |
Stage levels (one-sided) | 0.0132 | 0.0132 | 0.0132 |
Efficacy boundary (p product scale) | 0.013187 | 0.002705 | 0.000641 |
Futility boundary (separate p-value scale) | 0.5000 | 0.4000 | |
Cumulative power, pi(1) = 0.05 | 0.6790 | 0.9040 | 0.9780 |
Cumulative power, pi(1) = 0.1 | 0.2150 | 0.3760 | 0.5540 |
Cumulative power, pi(1) = 0.15 | 0.0390 | 0.0670 | 0.1070 |
Cumulative power, pi(1) = 0.2 | 0.0090 | 0.0100 | 0.0110 |
Stage-wise number of subjects, pi(1) = 0.05 | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, pi(1) = 0.1 | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, pi(1) = 0.15 | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, pi(1) = 0.2 | 40.0 | 30.0 | 30.0 |
Expected number of subjects under H1, pi(1) = 0.05 | 52.4 | ||
Expected number of subjects under H1, pi(1) = 0.1 | 78.0 | ||
Expected number of subjects under H1, pi(1) = 0.15 | 76.9 | ||
Expected number of subjects under H1, pi(1) = 0.2 | 58.0 | ||
Conditional power (achieved), pi(1) = 0.05 | 0.4489 | 0.5698 | |
Conditional power (achieved), pi(1) = 0.1 | 0.2752 | 0.3434 | |
Conditional power (achieved), pi(1) = 0.15 | 0.1405 | 0.1871 | |
Conditional power (achieved), pi(1) = 0.2 | 0.0820 | 0.0932 | |
Exit probability for efficacy, pi(1) = 0.05 | 0.6790 | 0.2250 | |
Exit probability for efficacy, pi(1) = 0.1 | 0.2150 | 0.1610 | |
Exit probability for efficacy, pi(1) = 0.15 | 0.0390 | 0.0280 | |
Exit probability for efficacy, pi(1) = 0.2 | 0.0090 | 0.0010 |
Simulation results base - survival
getDesignInverseNormal(
alpha = 0.05,
kMax = 4,
futilityBounds = c(0, 0, 0),
sided = 1,
typeOfDesign = "WT",
deltaWT = 0.1
|>
) getSimulationSurvival(
plannedEvents = c(40, 70, 100, 150),
maxNumberOfSubjects = 600,
thetaH0 = 1.2,
pi1 = seq(0.1, 0.25, 0.05),
pi2 = 0.2,
allocation1 = 2,
directionUpper = FALSE,
conditionalPower = 0.8,
minNumberOfEventsPerStage = c(40, 20, 20, 20),
maxNumberOfEventsPerStage = c(40, 100, 100, 100),
thetaH1 = 1,
maxNumberOfIterations = 1000,
seed = 1234
|>
) summary()
Simulation of a survival endpoint
Sequential analysis with a maximum of 4 looks (inverse normal combination test design), one-sided overall significance level 5%. The results were simulated for a two-sample logrank test, H0: hazard ratio = 1.2, power directed towards smaller values, H1: treatment pi(1) as specified, control pi(2) = 0.2, planned cumulative events = c(40, 70, 100, 150), maximum number of subjects = 600, planned allocation ratio = 2, event time = 12, accrual time = 12, accrual intensity = 50, sample size reassessment: conditional power = 0.8, minimum events per stage = c(40, 20, 20, 20), maximum events per stage = c(40, 100, 100, 100), thetaH1 = 0.833, simulation runs = 1000, seed = 1234.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.5 | 0.5 | 0.5 | 0.5 |
Cumulative alpha spent | 0.0011 | 0.0105 | 0.0282 | 0.0500 |
Stage levels (one-sided) | 0.0011 | 0.0100 | 0.0240 | 0.0390 |
Efficacy boundary (z-value scale) | 3.069 | 2.326 | 1.978 | 1.763 |
Futility boundary (z-value scale) | 0 | 0 | 0 | |
Cumulative power, pi(1) = 0.1 | 0.4490 | 0.9970 | 0.9980 | 0.9980 |
Cumulative power, pi(1) = 0.15 | 0.0720 | 0.6740 | 0.9060 | 0.9350 |
Cumulative power, pi(1) = 0.2 | 0.0110 | 0.1030 | 0.2520 | 0.3910 |
Cumulative power, pi(1) = 0.25 | 0.0010 | 0.0030 | 0.0110 | 0.0220 |
Number of subjects, pi(1) = 0.1 | 576.9 | 600.0 | 600.0 | n/a |
Number of subjects, pi(1) = 0.15 | 522.5 | 600.0 | 600.0 | 600.0 |
Number of subjects, pi(1) = 0.2 | 474.5 | 600.0 | 600.0 | 600.0 |
Number of subjects, pi(1) = 0.25 | 434.7 | 600.0 | 600.0 | 600.0 |
Expected number of subjects under H1, pi(1) = 0.1 | 589.6 | |||
Expected number of subjects under H1, pi(1) = 0.15 | 589.7 | |||
Expected number of subjects under H1, pi(1) = 0.2 | 564.5 | |||
Expected number of subjects under H1, pi(1) = 0.25 | 508.4 | |||
Cumulative number of events, pi(1) = 0.1 | 40.0 | 140.0 | 240.0 | 240.0 |
Cumulative number of events, pi(1) = 0.15 | 40.0 | 140.0 | 240.0 | 340.0 |
Cumulative number of events, pi(1) = 0.2 | 40.0 | 140.0 | 240.0 | 340.0 |
Cumulative number of events, pi(1) = 0.25 | 40.0 | 140.0 | 240.0 | 340.0 |
Expected number of events under H1, pi(1) = 0.1 | 95.0 | |||
Expected number of events under H1, pi(1) = 0.15 | 156.3 | |||
Expected number of events under H1, pi(1) = 0.2 | 210.6 | |||
Expected number of events under H1, pi(1) = 0.25 | 129.3 | |||
Analysis time, pi(1) = 0.1 | 11.83 | 28.46 | 52.12 | |
Analysis time, pi(1) = 0.15 | 10.47 | 23.56 | 39.69 | 61.52 |
Analysis time, pi(1) = 0.2 | 9.50 | 20.36 | 33.48 | 51.13 |
Analysis time, pi(1) = 0.25 | 8.70 | 18.05 | 29.11 | 43.84 |
Expected study duration under H1, pi(1) = 0.1 | 21.01 | |||
Expected study duration under H1, pi(1) = 0.15 | 26.76 | |||
Expected study duration under H1, pi(1) = 0.2 | 32.14 | |||
Expected study duration under H1, pi(1) = 0.25 | 18.48 | |||
Conditional power (achieved), pi(1) = 0.1 | 0.4405 | 0.6022 | ||
Conditional power (achieved), pi(1) = 0.15 | 0.2556 | 0.4813 | 0.5406 | |
Conditional power (achieved), pi(1) = 0.2 | 0.1305 | 0.2567 | 0.3413 | |
Conditional power (achieved), pi(1) = 0.25 | 0.0794 | 0.1206 | 0.1487 | |
Exit probability for efficacy, pi(1) = 0.1 | 0.4490 | 0.5480 | 0.0010 | |
Exit probability for efficacy, pi(1) = 0.15 | 0.0720 | 0.6020 | 0.2320 | |
Exit probability for efficacy, pi(1) = 0.2 | 0.0110 | 0.0920 | 0.1490 | |
Exit probability for efficacy, pi(1) = 0.25 | 0.0010 | 0.0020 | 0.0080 | |
Exit probability for futility, pi(1) = 0.1 | 0.0020 | 0 | 0 | |
Exit probability for futility, pi(1) = 0.15 | 0.0610 | 0.0010 | 0 | |
Exit probability for futility, pi(1) = 0.2 | 0.2720 | 0.0520 | 0.0080 | |
Exit probability for futility, pi(1) = 0.25 | 0.5530 | 0.1760 | 0.0810 |
Simulation results multi-arm
Simulation results multi-arm - means
options("rpact.summary.output.size" = "medium") # small, medium, large
<- getDesignFisher(
design alpha = 0.05,
kMax = 3
)
|>
design getSimulationMultiArmMeans(
plannedSubjects = c(40, 70, 100),
activeArms = 3,
typeOfShape = "sigmoidEmax",
gED50 = 2,
typeOfSelection = "rBest",
rValue = 2,
stDev = 1.2,
maxNumberOfIterations = 100,
seed = 1234
|>
) summary()
Simulation of a continuous endpoint (multi-arm design)
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 5%. The results were simulated for a multi-arm comparisons for means (3 treatments vs. control), H0: mu(i) - mu(control) = 0, power directed towards larger values, H1: effect as specified, standard deviation = 1.2, planned cumulative sample size = c(40, 70, 100), effect shape = sigmoid emax, slope = 1, ED50 = 2, dose levels = c(1, 2, 3), intersection test = Dunnett, selection = r best, r = 2, effect measure based on effect estimate, success criterion: all, simulation runs = 100, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 1 | 1 |
Cumulative alpha spent | 0.0255 | 0.0398 | 0.0500 |
Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |
Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |
Reject at least one, mu_max = 0 | 0.0500 | ||
Reject at least one, mu_max = 0.2 | 0.1400 | ||
Reject at least one, mu_max = 0.4 | 0.2900 | ||
Reject at least one, mu_max = 0.6 | 0.4800 | ||
Reject at least one, mu_max = 0.8 | 0.7100 | ||
Reject at least one, mu_max = 1 | 0.9100 | ||
Success per stage, mu_max = 0 | 0 | 0.0200 | 0 |
Success per stage, mu_max = 0.2 | 0 | 0.0200 | 0.0100 |
Success per stage, mu_max = 0.4 | 0.0200 | 0.0400 | 0.0400 |
Success per stage, mu_max = 0.6 | 0.0400 | 0.1600 | 0.0500 |
Success per stage, mu_max = 0.8 | 0.0700 | 0.2400 | 0.1100 |
Success per stage, mu_max = 1 | 0.2000 | 0.4000 | 0.0900 |
Stage-wise number of subjects, mu_max = 0 | |||
Treatment arm 1 | 40.0 | 19.2 | 19.3 |
Treatment arm 2 | 40.0 | 18.9 | 19.0 |
Treatment arm 3 | 40.0 | 21.9 | 21.7 |
Control arm | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, mu_max = 0.2 | |||
Treatment arm 1 | 40.0 | 17.4 | 17.8 |
Treatment arm 2 | 40.0 | 20.1 | 19.9 |
Treatment arm 3 | 40.0 | 22.5 | 22.3 |
Control arm | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, mu_max = 0.4 | |||
Treatment arm 1 | 40.0 | 17.1 | 17.6 |
Treatment arm 2 | 40.0 | 20.8 | 20.7 |
Treatment arm 3 | 40.0 | 22.0 | 21.7 |
Control arm | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, mu_max = 0.6 | |||
Treatment arm 1 | 40.0 | 15.9 | 16.5 |
Treatment arm 2 | 40.0 | 18.8 | 19.1 |
Treatment arm 3 | 40.0 | 25.3 | 24.4 |
Control arm | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, mu_max = 0.8 | |||
Treatment arm 1 | 40.0 | 12.6 | 12.2 |
Treatment arm 2 | 40.0 | 22.9 | 23.5 |
Treatment arm 3 | 40.0 | 24.5 | 24.3 |
Control arm | 40.0 | 30.0 | 30.0 |
Stage-wise number of subjects, mu_max = 1 | |||
Treatment arm 1 | 40.0 | 12.4 | 16.5 |
Treatment arm 2 | 40.0 | 20.2 | 18.0 |
Treatment arm 3 | 40.0 | 27.4 | 25.5 |
Control arm | 40.0 | 30.0 | 30.0 |
Expected number of subjects under H1, mu_max = 0 | 338.2 | ||
Expected number of subjects under H1, mu_max = 0.2 | 338.2 | ||
Expected number of subjects under H1, mu_max = 0.4 | 332.8 | ||
Expected number of subjects under H1, mu_max = 0.6 | 318.4 | ||
Expected number of subjects under H1, mu_max = 0.8 | 305.8 | ||
Expected number of subjects under H1, mu_max = 1 | 268.0 | ||
Overall exit probability, mu_max = 0 | 0 | 0.0200 | |
Overall exit probability, mu_max = 0.2 | 0 | 0.0200 | |
Overall exit probability, mu_max = 0.4 | 0.0200 | 0.0400 | |
Overall exit probability, mu_max = 0.6 | 0.0400 | 0.1600 | |
Overall exit probability, mu_max = 0.8 | 0.0700 | 0.2400 | |
Overall exit probability, mu_max = 1 | 0.2000 | 0.4000 | |
Selected arms, mu_max = 0 | |||
Treatment arm 1 | 1.0000 | 0.6400 | 0.6300 |
Treatment arm 2 | 1.0000 | 0.6300 | 0.6200 |
Treatment arm 3 | 1.0000 | 0.7300 | 0.7100 |
Selected arms, mu_max = 0.2 | |||
Treatment arm 1 | 1.0000 | 0.5800 | 0.5800 |
Treatment arm 2 | 1.0000 | 0.6700 | 0.6500 |
Treatment arm 3 | 1.0000 | 0.7500 | 0.7300 |
Selected arms, mu_max = 0.4 | |||
Treatment arm 1 | 1.0000 | 0.5600 | 0.5500 |
Treatment arm 2 | 1.0000 | 0.6800 | 0.6500 |
Treatment arm 3 | 1.0000 | 0.7200 | 0.6800 |
Selected arms, mu_max = 0.6 | |||
Treatment arm 1 | 1.0000 | 0.5100 | 0.4400 |
Treatment arm 2 | 1.0000 | 0.6000 | 0.5100 |
Treatment arm 3 | 1.0000 | 0.8100 | 0.6500 |
Selected arms, mu_max = 0.8 | |||
Treatment arm 1 | 1.0000 | 0.3900 | 0.2800 |
Treatment arm 2 | 1.0000 | 0.7100 | 0.5400 |
Treatment arm 3 | 1.0000 | 0.7600 | 0.5600 |
Selected arms, mu_max = 1 | |||
Treatment arm 1 | 1.0000 | 0.3300 | 0.2200 |
Treatment arm 2 | 1.0000 | 0.5400 | 0.2400 |
Treatment arm 3 | 1.0000 | 0.7300 | 0.3400 |
Number of active arms, mu_max = 0 | 3.000 | 2.000 | 2.000 |
Number of active arms, mu_max = 0.2 | 3.000 | 2.000 | 2.000 |
Number of active arms, mu_max = 0.4 | 3.000 | 2.000 | 2.000 |
Number of active arms, mu_max = 0.6 | 3.000 | 2.000 | 2.000 |
Number of active arms, mu_max = 0.8 | 3.000 | 2.000 | 2.000 |
Number of active arms, mu_max = 1 | 3.000 | 2.000 | 2.000 |
Legend:
- (i): treatment arm i
Simulation results multi-arm - rates
options("rpact.summary.output.size" = "medium") # small, medium, large
|>
design getSimulationMultiArmRates(
plannedSubjects = c(40, 70, 100),
activeArms = 3,
typeOfShape = "userDefined",
effectMatrix = matrix(c(
0.1, 0.2, 0.3,
0.2, 0.3, 0.4,
0.2, 0.4, 0.4
nrow = 3),
), typeOfSelection = "rBest",
rValue = 2,
directionUpper = FALSE,
allocationRatioPlanned = 2,
piControl = 0.4,
conditionalPower = 0.8,
minNumberOfSubjectsPerStage = c(40, 20, 20),
maxNumberOfSubjectsPerStage = c(40, 100, 100),
piTreatmentsH1 = 0.6,
piControlH1 = 0.4,
maxNumberOfIterations = 100,
seed = 1234
|>
) summary()
Simulation of a binary endpoint (multi-arm design)
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 5%. The results were simulated for a multi-arm comparisons for rates (3 treatments vs. control), H0: pi(i) - pi(control) = 0, power directed towards smaller values, H1: pi_max as specified, control rate pi(control) = 0.4, planned cumulative sample size = c(40, 70, 100), planned allocation ratio = 2, effect shape = user defined, intersection test = Dunnett, selection = r best, r = 2, effect measure based on effect estimate, success criterion: all, sample size reassessment: conditional power = 0.8, minimum subjects per stage = c(40, 20, 20), maximum subjects per stage = c(40, 100, 100), pi(treatment)H1 = 0.6, pi(control)H1 = 0.4, simulation runs = 100, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 1 | 1 |
Cumulative alpha spent | 0.0255 | 0.0398 | 0.0500 |
Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |
Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |
Reject at least one [1] | 1.0000 | ||
Reject at least one [2] | 0.9200 | ||
Reject at least one [3] | 0.4300 | ||
Success per stage [1] | 0.1800 | 0.5500 | 0.1000 |
Success per stage [2] | 0 | 0.1600 | 0.0900 |
Success per stage [3] | 0.0100 | 0.0200 | 0 |
Stage-wise number of subjects [1] | |||
Treatment arm 1 | 40.0 | 69.3 | 22.2 |
Treatment arm 2 | 40.0 | 39.8 | 16.3 |
Treatment arm 3 | 40.0 | 34.4 | 13.3 |
Control arm | 20.0 | 35.9 | 13.0 |
Stage-wise number of subjects [2] | |||
Treatment arm 1 | 40.0 | 91.0 | 62.6 |
Treatment arm 2 | 40.0 | 78.6 | 54.8 |
Treatment arm 3 | 40.0 | 14.4 | 10.2 |
Control arm | 20.0 | 46.0 | 31.9 |
Stage-wise number of subjects [3] | |||
Treatment arm 1 | 40.0 | 93.9 | 88.0 |
Treatment arm 2 | 40.0 | 45.5 | 41.0 |
Treatment arm 3 | 40.0 | 60.6 | 59.4 |
Control arm | 20.0 | 50.0 | 47.1 |
Expected number of subjects under H1 [1] | 304.5 | ||
Expected number of subjects under H1 [2] | 504.0 | ||
Expected number of subjects under H1 [3] | 616.0 | ||
Overall exit probability [1] | 0.1800 | 0.5500 | |
Overall exit probability [2] | 0 | 0.1600 | |
Overall exit probability [3] | 0.0100 | 0.0200 | |
Selected arms [1] | |||
Treatment arm 1 | 1.0000 | 0.8000 | 0.2600 |
Treatment arm 2 | 1.0000 | 0.4300 | 0.1400 |
Treatment arm 3 | 1.0000 | 0.4100 | 0.1400 |
Selected arms [2] | |||
Treatment arm 1 | 1.0000 | 0.9900 | 0.8300 |
Treatment arm 2 | 1.0000 | 0.8500 | 0.7000 |
Treatment arm 3 | 1.0000 | 0.1600 | 0.1500 |
Selected arms [3] | |||
Treatment arm 1 | 1.0000 | 0.9300 | 0.9100 |
Treatment arm 2 | 1.0000 | 0.4500 | 0.4300 |
Treatment arm 3 | 1.0000 | 0.6000 | 0.6000 |
Number of active arms [1] | 3.000 | 2.000 | 2.000 |
Number of active arms [2] | 3.000 | 2.000 | 2.000 |
Number of active arms [3] | 3.000 | 2.000 | 2.000 |
Legend:
- (i): treatment arm i
- [j]: effect matrix row j (situation to consider)
Simulation results multi-arm - survival
options("rpact.summary.output.size" = "medium") # small, medium, large
getSimulationMultiArmSurvival(
seed = 1234,
getDesignInverseNormal(informationRates = c(0.2, 0.6, 1)),
typeOfShape = "linear",
activeArms = 4,
plannedEvents = c(10, 30, 50),
omegaMaxVector = seq(0.3, 0.6, 0.1),
adaptations = rep(TRUE, 2),
directionUpper = FALSE,
minNumberOfEventsPerStage = c(10, 4, 4),
maxNumberOfEventsPerStage = c(10, 100, 100),
maxNumberOfIterations = 10,
calcEventsFunction = function(..., stage, minNumberOfEventsPerStage) {
return(ifelse(stage == 3, 33, minNumberOfEventsPerStage[stage]))
}|>
) summary()
Simulation of a survival endpoint (multi-arm design)
Sequential analysis with a maximum of 3 looks (inverse normal combination test design), one-sided overall significance level 2.5%. The results were simulated for a multi-arm logrank test (4 treatments vs. control), H0: hazard ratio(i) = 1, power directed towards smaller values, H1: omega_max as specified, planned cumulative events = c(10, 30, 50), effect shape = linear, dose levels = c(1, 2, 3, 4), intersection test = Dunnett, selection = best, effect measure based on effect estimate, success criterion: all, sample size reassessment: user defined ‘calcEventsFunction’, minimum events per stage = c(10, 4, 4), maximum events per stage = c(10, 100, 100), simulation runs = 10, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 0.447 | 0.632 | 0.632 |
Cumulative alpha spent | <0.0001 | 0.0051 | 0.0250 |
Stage levels (one-sided) | <0.0001 | 0.0051 | 0.0232 |
Efficacy boundary (z-value scale) | 4.455 | 2.572 | 1.992 |
Reject at least one, omega_max = 0.3 | 0.3000 | ||
Reject at least one, omega_max = 0.4 | 0.4000 | ||
Reject at least one, omega_max = 0.5 | 0.7000 | ||
Reject at least one, omega_max = 0.6 | 0.3000 | ||
Success per stage, omega_max = 0.3 | 0 | 0.1000 | 0.2000 |
Success per stage, omega_max = 0.4 | 0 | 0 | 0.4000 |
Success per stage, omega_max = 0.5 | 0 | 0.2000 | 0.5000 |
Success per stage, omega_max = 0.6 | 0 | 0.1000 | 0.2000 |
Cumulative number of events, omega_max = 0.3 | |||
Treatment arm 1 vs. control | 5.6 | 8.5 | 32.5 |
Treatment arm 2 vs. control | 5.1 | 8.1 | 33.4 |
Treatment arm 3 vs. control | 4.5 | 7.8 | 33.7 |
Treatment arm 4 vs. control | 4.0 | 7.0 | 31.9 |
Cumulative number of events, omega_max = 0.4 | |||
Treatment arm 1 vs. control | 5.3 | 8.0 | 30.2 |
Treatment arm 2 vs. control | 4.9 | 7.7 | 31.3 |
Treatment arm 3 vs. control | 4.4 | 7.7 | 34.6 |
Treatment arm 4 vs. control | 4.0 | 7.3 | 34.2 |
Cumulative number of events, omega_max = 0.5 | |||
Treatment arm 1 vs. control | 5.0 | 7.7 | 30.0 |
Treatment arm 2 vs. control | 4.7 | 7.3 | 29.5 |
Treatment arm 3 vs. control | 4.3 | 7.4 | 32.6 |
Treatment arm 4 vs. control | 4.0 | 7.0 | 31.6 |
Cumulative number of events, omega_max = 0.6 | |||
Treatment arm 1 vs. control | 4.8 | 7.4 | 28.5 |
Treatment arm 2 vs. control | 4.5 | 7.0 | 28.0 |
Treatment arm 3 vs. control | 4.2 | 7.4 | 34.3 |
Treatment arm 4 vs. control | 4.0 | 6.6 | 28.7 |
Expected number of events under H1, omega_max = 0.3 | 43.7 | ||
Expected number of events under H1, omega_max = 0.4 | 47.0 | ||
Expected number of events under H1, omega_max = 0.5 | 40.4 | ||
Expected number of events under H1, omega_max = 0.6 | 43.7 | ||
Overall exit probability, omega_max = 0.3 | 0 | 0.1000 | |
Overall exit probability, omega_max = 0.4 | 0 | 0 | |
Overall exit probability, omega_max = 0.5 | 0 | 0.2000 | |
Overall exit probability, omega_max = 0.6 | 0 | 0.1000 | |
Selected arms, omega_max = 0.3 | |||
Treatment arm 1 vs. control | 1.0000 | 0.1000 | 0.1000 |
Treatment arm 2 vs. control | 1.0000 | 0.2000 | 0.2000 |
Treatment arm 3 vs. control | 1.0000 | 0.4000 | 0.3000 |
Treatment arm 4 vs. control | 1.0000 | 0.3000 | 0.3000 |
Selected arms, omega_max = 0.4 | |||
Treatment arm 1 vs. control | 1.0000 | 0 | 0 |
Treatment arm 2 vs. control | 1.0000 | 0.1000 | 0.1000 |
Treatment arm 3 vs. control | 1.0000 | 0.4000 | 0.4000 |
Treatment arm 4 vs. control | 1.0000 | 0.5000 | 0.5000 |
Selected arms, omega_max = 0.5 | |||
Treatment arm 1 vs. control | 1.0000 | 0.1000 | 0.1000 |
Treatment arm 2 vs. control | 1.0000 | 0.1000 | 0.1000 |
Treatment arm 3 vs. control | 1.0000 | 0.4000 | 0.3000 |
Treatment arm 4 vs. control | 1.0000 | 0.4000 | 0.3000 |
Selected arms, omega_max = 0.6 | |||
Treatment arm 1 vs. control | 1.0000 | 0.2000 | 0.1000 |
Treatment arm 2 vs. control | 1.0000 | 0.1000 | 0.1000 |
Treatment arm 3 vs. control | 1.0000 | 0.5000 | 0.5000 |
Treatment arm 4 vs. control | 1.0000 | 0.2000 | 0.2000 |
Number of active arms, omega_max = 0.3 | 4.000 | 1.000 | 1.000 |
Number of active arms, omega_max = 0.4 | 4.000 | 1.000 | 1.000 |
Number of active arms, omega_max = 0.5 | 4.000 | 1.000 | 1.000 |
Number of active arms, omega_max = 0.6 | 4.000 | 1.000 | 1.000 |
Exit probability for efficacy | 0.0007 | 0.3486 |
Legend:
- (i): results of treatment arm i vs. control arm
Simulation results enrichment
Simulation results enrichment - means
options("rpact.summary.output.size" = "medium") # small, medium, large
<- getDesignFisher(
design alpha = 0.05,
kMax = 3
)
<- c("S", "R")
subGroups <- c(0.1, 0.9)
prevalences <- c(0.4, 0.5)
alternative <- list(
effectList subGroups = subGroups, prevalences = prevalences,
stDevs = 1,
effects = matrix(alternative, byrow = TRUE, ncol = 2)
)
|>
design getSimulationEnrichmentMeans(
plannedSubjects = c(40, 70, 100),
effectList = effectList,
typeOfSelection = "rBest",
rValue = 2,
maxNumberOfIterations = 100,
seed = 1234
|>
) summary()
Simulation of a continuous endpoint (enrichment design)
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 5%. The results were simulated for a population enrichment comparisons for means (treatment vs. control, 2 populations), H0: mu(treatment) - mu(control) = 0, power directed towards larger values, H1: effects = c(0.4, 0.5), subgroups = c(S, R), prevalences = c(0.1, 0.9), standard deviation = 1, planned cumulative sample size = c(40, 70, 100), intersection test = Simes, selection = r best, r = 2, effect measure based on effect estimate, success criterion: all, simulation runs = 100, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 1 | 1 |
Cumulative alpha spent | 0.0255 | 0.0398 | 0.0500 |
Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |
Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |
Reject at least one | 0.5600 | ||
Success per stage | 0.0300 | 0.0400 | 0.0400 |
Stage-wise number of subjects | |||
Subset S | 4.0 | 3.0 | 3.0 |
Remaining population R | 36.0 | 27.0 | 27.0 |
Expected number of subjects under H1 | 97.0 | ||
Overall exit probability | 0.0300 | 0.0400 | |
Selected populations | |||
Subset S | 1.0000 | 0.9700 | 0.9300 |
Full population F | 1.0000 | 0.9700 | 0.9300 |
Number of populations | 2.000 | 2.000 | 2.000 |
Simulation results enrichment - rates
options("rpact.summary.output.size" = "large") # small, medium, large
<- getDesignFisher(alpha = 0.05, kMax = 3)
design
<- c("S", "R")
subGroups <- c(0.1, 0.9)
prevalences <- c(0.3, 0.4)
pi2 <- c(0.4, 0.5)
piTreatments <- list(
effectList subGroups = subGroups, prevalences = prevalences,
piControl = pi2, piTreatments = matrix(piTreatments, byrow = TRUE, ncol = 2)
)
|>
design getSimulationEnrichmentRates(
plannedSubjects = c(40, 70, 100),
effectList = effectList,
typeOfSelection = "rBest",
rValue = 2,
maxNumberOfIterations = 100,
seed = 1234
|>
) summary()
Simulation of a binary endpoint (enrichment design)
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 5%. The results were simulated for a population enrichment comparisons for rates (treatment vs. control, 2 populations), H0: pi(treatment) - pi(control) = 0, power directed towards larger values, H1: assumed pi(treatment) = c(0.4, 0.5), subgroups = c(S, R), prevalences = c(0.1, 0.9), control rates pi(control) = c(0.3, 0.4), planned cumulative sample size = c(40, 70, 100), intersection test = Simes, selection = r best, r = 2, effect measure based on effect estimate, success criterion: all, simulation runs = 100, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 1 | 1 |
Cumulative alpha spent | 0.0255 | 0.0398 | 0.0500 |
Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |
Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |
Reject at least one | 0.1800 | ||
Rejected populations per stage | |||
Subset S | 0.0200 | 0.0500 | 0.0400 |
Full population F | 0.0500 | 0.0400 | 0.0700 |
Success per stage | 0.0200 | 0.0300 | 0.0400 |
Stage-wise number of subjects | |||
Subset S | 4.0 | 3.0 | 3.0 |
Remaining population R | 36.0 | 27.0 | 27.0 |
Expected number of subjects under H1 | 97.9 | ||
Overall exit probability | 0.0200 | 0.0300 | |
Selected populations | |||
Subset S | 1.0000 | 0.9800 | 0.9500 |
Full population F | 1.0000 | 0.9800 | 0.9500 |
Number of populations | 2.000 | 2.000 | 2.000 |
Conditional power (achieved) | 0.0689 | 0.0731 |
Simulation results enrichment - survival
options("rpact.summary.output.size" = "medium") # small, medium, large
<- getDesignFisher(alpha = 0.05, kMax = 3)
design
<- c("S1", "S2", "S12", "R")
subGroups <- c(0.1, 0.3, 0.4, 0.2)
prevalences <- c(0.4, 0.5, 0.6, 0.7, 0.6, 0.6, 0.6, 0.8)
hazardRatios <- list(
effectList subGroups = subGroups, prevalences = prevalences,
hazardRatios = matrix(hazardRatios, byrow = TRUE, ncol = 4)
)
|>
design getSimulationEnrichmentSurvival(
plannedEvents = c(40, 70, 100),
effectList = effectList,
conditionalPower = 0.8,
minNumberOfEventsPerStage = c(40, 20, 20),
maxNumberOfEventsPerStage = c(40, 100, 100),
maxNumberOfIterations = 100,
seed = 1234
|>
) summary()
Simulation of a survival endpoint (enrichment design)
Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), one-sided overall significance level 5%. The results were simulated for a population enrichment logrank test (treatment vs. control, 3 populations), H0: hazard ratio = 1, power directed towards larger values, H1: hazard ratios as specified, subgroups = c(S1, S2, S12, R), prevalences = c(0.1, 0.3, 0.4, 0.2), planned cumulative events = c(40, 70, 100), intersection test = Simes, selection = best, effect measure based on effect estimate, success criterion: all, sample size reassessment: conditional power = 0.8, minimum events per stage = c(40, 20, 20), maximum events per stage = c(40, 100, 100), simulation runs = 100, seed = 1234.
Stage | 1 | 2 | 3 |
---|---|---|---|
Fixed weight | 1 | 1 | 1 |
Cumulative alpha spent | 0.0255 | 0.0398 | 0.0500 |
Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |
Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |
Reject at least one, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | 0 | ||
Reject at least one, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | 0 | ||
Success per stage, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | 0 | 0 | 0 |
Success per stage, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | 0 | 0 | 0 |
Single number of events, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | |||
Subset S1 only | 3.6 | 8.1 | 8.1 |
Subset S2 only | 11.5 | 25.3 | 25.3 |
Subset S12 | 16.3 | 59.0 | 59.0 |
Remaining population R | 8.7 | 7.6 | 7.6 |
Single number of events, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | |||
Subset S1 only | 3.9 | 12.1 | 12.4 |
Subset S2 only | 11.7 | 18.7 | 18.7 |
Subset S12 | 15.6 | 60.6 | 61.7 |
Remaining population R | 8.8 | 7.2 | 7.2 |
Expected number of events under H1, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | 240.0 | ||
Expected number of events under H1, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | 238.6 | ||
Overall exit probability, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | 0 | 0 | |
Overall exit probability, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | 0 | 0 | |
Selected populations, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | |||
Subset S1 | 1.0000 | 0.2800 | 0.2800 |
Subset S2 | 1.0000 | 0.3700 | 0.3700 |
Full population F | 1.0000 | 0.3500 | 0.3500 |
Selected populations, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | |||
Subset S1 | 1.0000 | 0.4600 | 0.4600 |
Subset S2 | 1.0000 | 0.2100 | 0.2100 |
Full population F | 1.0000 | 0.3300 | 0.3300 |
Number of populations, hazard ratios = c(0.4, 0.5, 0.6, 0.7) | 3.000 | 1.000 | 1.000 |
Number of populations, hazard ratios = c(0.6, 0.6, 0.6, 0.8) | 3.000 | 1.000 | 1.000 |
Analysis results summaries
Create three different designs
<- getDesignInverseNormal(
design1 kMax = 4, alpha = 0.02,
futilityBounds = c(-0.5, 0, 0.5), bindingFutility = FALSE,
typeOfDesign = "asKD", gammaA = 1.2,
informationRates = c(0.15, 0.4, 0.7, 1)
)
<- getDesignConditionalDunnett(
design3 alpha = 0.02,
informationAtInterim = 0.4, secondStageConditioning = TRUE
)
Analysis results base
Analysis results base - means
<- getDataset(
simpleDataExampleMeans1 n = c(120, 130, 130),
means = c(0.45, 0.51, 0.45) * 100,
stDevs = c(1.3, 1.4, 1.2) * 100
)
|>
design1 getAnalysisResults(
dataInput = simpleDataExampleMeans1,
nPlanned = 130,
thetaH0 = 30,
thetaH1 = 60,
assumedStDev = 100
|>
) summary()
Calculation of final confidence interval performed for kMax = 4 (for kMax > 2, it is theoretically shown that it is valid only if no sample size change was performed)
Analysis results for a continuous endpoint
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a one-sample t-test. H0: mu = 30 against H1: mu > 30. The conditional power calculation with planned sample size is based on assumed effect = 60 and assumed standard deviation = 100.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size | 45.000 | 48.120 | 47.053 | |
Cumulative standard deviation | 130.000 | 135.055 | 129.950 | |
Stage-wise test statistic | 1.264 | 1.710 | 1.425 | |
Stage-wise p-value | 0.1044 | 0.0448 | 0.0783 | |
Inverse normal combination | 1.257 | 2.112 | 2.524 | |
Test action | continue | continue | reject and stop | |
Conditional rejection probability | 0.0433 | 0.1706 | 0.3851 | |
Planned sample size | 130 | |||
Conditional power | 0.9991 | |||
96% repeated confidence interval | 10.269 - 79.731 | 25.952 - 70.719 | 30.900 - 63.004 | |
Repeated p-value | >0.5 | 0.0662 | 0.0141 | |
Final p-value | 0.0108 | |||
Final confidence interval | 31.784 - 60.146 | |||
Median unbiased estimate | 46.183 |
<- getDataset(
simpleDataExampleMeans2 n1 = c(23, 13, 22, 13),
n2 = c(22, 11, 22, 11),
means1 = c(2.7, 2.5, 4.5, 2.5) * 100,
means2 = c(1, 1.1, 1.3, 1) * 100,
stds1 = c(1.3, 2.4, 2.2, 1.3) * 100,
stds2 = c(1.2, 2.2, 2.1, 1.3) * 100
)
|>
design1 getAnalysisResults(
design = design1,
dataInput = simpleDataExampleMeans2,
equalVariances = TRUE,
directionUpper = TRUE
|>
) summary()
Warning: Argument unknown in .getAnalysisResultsMeansInverseNormal(...):
'%param2%' = 'TrialDesignInverseNormal' will be ignored
Analysis results for a continuous endpoint
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample t-test, equal variances option. H0: mu(1) - mu(2) = 0 against H1: mu(1) - mu(2) > 0.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size | 170.000 | 159.444 | 219.793 | 206.784 |
Cumulative (pooled) standard deviation | 125.216 | 166.324 | 196.455 | 187.224 |
Stage-wise test statistic | 4.553 | 1.479 | 4.935 | 2.817 |
Stage-wise p-value | <0.0001 | 0.0767 | <0.0001 | 0.0050 |
Inverse normal combination | 4.090 | 3.633 | 5.599 | 6.094 |
Test action | reject and stop | reject and stop | reject and stop | reject |
Conditional rejection probability | 0.5469 | 0.7525 | 1.0000 | |
96% repeated confidence interval | 56.780 - 283.220 | 50.708 - 267.898 | 129.271 - 304.606 | 127.414 - 266.016 |
Repeated p-value | 0.0002 | 0.0006 | <0.0001 | <0.0001 |
Final p-value | <0.0001 | |||
Final confidence interval | 93.310 - 246.690 | |||
Median unbiased estimate | 170.000 |
Analysis results base - rates
<- getDataset(
simpleDataExampleRates1 n = c(8, 10, 9, 11),
events = c(4, 5, 5, 6)
)
|>
design1 getAnalysisResults(
dataInput = simpleDataExampleRates1,
stage = 3,
thetaH0 = 0.75,
normalApproximation = TRUE,
directionUpper = FALSE,
nPlanned = 10
|>
) summary()
Calculation of final confidence interval performed for kMax = 4 (for kMax > 2, it is theoretically shown that it is valid only if no sample size change was performed)
Analysis results for a binary endpoint
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a one-sample test for rates, normal approximation test. H0: pi = 0.75 against H1: pi < 0.75. The conditional power calculation with planned sample size is based on overall treatment rate = 0.519.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative treatment rate | 0.500 | 0.500 | 0.519 | |
Stage-wise test statistic | -1.633 | -1.826 | -1.347 | |
Stage-wise p-value | 0.0512 | 0.0339 | 0.0890 | |
Inverse normal combination | 1.633 | 2.443 | 2.729 | |
Test action | continue | continue | reject and stop | |
Conditional rejection probability | 0.0669 | 0.2722 | 0.5084 | |
Planned sample size | 10 | |||
Conditional power | 0.9310 | |||
96% repeated confidence interval | 0.144 - 0.856 | 0.240 - 0.760 | 0.307 - 0.727 | |
Repeated p-value | 0.4992 | 0.0285 | 0.0079 | |
Final p-value | 0.0087 | |||
Final confidence interval | 0.300 - 0.714 | |||
Median unbiased estimate | 0.502 |
<- getDataset(
simpleDataExampleRates2 n1 = c(17, 23, 22),
n2 = c(18, 20, 19),
events1 = c(11, 12, 17),
events2 = c(5, 10, 7)
)
|>
design1 getAnalysisResults(
simpleDataExampleRates2,thetaH0 = 0,
stage = 2,
directionUpper = TRUE,
normalApproximation = FALSE,
pi1 = 0.9,
pi2 = 0.3,
nPlanned = c(20, 20)
|>
) summary()
Repeated confidence intervals will be calculated under the normal approximation
Analysis results for a binary endpoint
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample test for rates, exact test of Fisher. H0: pi(1) - pi(2) = 0 against H1: pi(1) - pi(2) > 0. The conditional power calculation with planned sample size is based on assumed treatment rate = 0.9 and assumed control rate = 0.3.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size | 0.369 | 0.180 | ||
Cumulative treatment rate | 0.647 | 0.575 | ||
Cumulative control rate | 0.278 | 0.395 | ||
Stage-wise test statistic | ||||
Stage-wise p-value | 0.0313 | 0.5648 | ||
Inverse normal combination | 1.862 | 1.011 | ||
Test action | continue | continue | ||
Conditional rejection probability | 0.0863 | 0.0213 | ||
Planned sample size | 20 | 20 | ||
Conditional power | 0.7257 | 0.9884 | ||
96% repeated confidence interval | -0.111 - 0.711 | -0.125 - 0.429 | ||
Repeated p-value | 0.3048 | >0.5 |
Analysis results base - survival
<- getDataset(
simpleDataExampleSurvival overallEvents = c(8, 15, 29),
overallAllocationRatios = c(1, 1, 1),
overallLogRanks = c(1.52, 1.38, 2.9)
)
$getNumberOfGroups() simpleDataExampleSurvival
[1] 2
|>
design1 getAnalysisResults(
simpleDataExampleSurvival,directionUpper = TRUE
|>
) summary()
Calculation of final confidence interval performed for kMax = 4 (for kMax > 2, it is theoretically shown that it is valid only if no sample size change was performed)
Analysis results for a survival endpoint
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample logrank test. H0: hazard ratio = 1 against H1: hazard ratio > 1.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size | 2.929 | 2.039 | 2.936 | |
Stage-wise test statistic | 1.520 | 0.395 | 2.745 | |
Stage-wise p-value | 0.0643 | 0.3464 | 0.0030 | |
Inverse normal combination | 1.520 | 1.243 | 2.737 | |
Test action | continue | continue | reject and stop | |
Conditional rejection probability | 0.0588 | 0.0350 | 0.5134 | |
96% repeated confidence interval | 0.385 - 22.290 | 0.499 - 7.358 | 1.138 - 6.825 | |
Repeated p-value | >0.5 | 0.3740 | 0.0077 | |
Final p-value | 0.0087 | |||
Final confidence interval | 1.160 - 5.900 | |||
Median unbiased estimate | 2.686 |
Analysis results multi-arm
Analysis results multi-arm - means
<- getDataset(
dataExampleMeans n1 = c(13, 25),
n2 = c(15, NA),
n3 = c(14, 27),
n4 = c(12, 29),
means1 = c(242, 222),
means2 = c(188, NA),
means3 = c(267, 277),
means4 = c(92, 122),
stDevs1 = c(244, 221),
stDevs2 = c(212, NA),
stDevs3 = c(256, 232),
stDevs4 = c(215, 227)
)
|>
design3 getAnalysisResults(
dataInput = dataExampleMeans,
stage = 2,
thetaH0 = 120,
directionUpper = TRUE,
normalApproximation = TRUE
|>
) summary()
Multi-arm analysis results for a continuous endpoint (3 active arms vs. control)
Sequential analysis with 2 looks (conditional Dunnett test design), one-sided overall significance level 2%. The results were calculated using a multi-arm t-test, normal approximation test, overall pooled variances option, conditional second stage p-values. H0: mu(i) - mu(control) = 120 against H1: mu(i) - mu(control) > 120.
Stage | 1 | 2 |
---|---|---|
Fixed information at interim | 0.4 | |
Significance level | 0.0200 | |
Cumulative effect size (1) | 150.000 | 115.623 |
Cumulative effect size (2) | 96.000 | |
Cumulative effect size (3) | 175.000 | 160.366 |
Cumulative (pooled) standard deviation | 232.555 | 228.359 |
Stage-wise test statistic (1) | 0.322 | -0.323 |
Stage-wise test statistic (2) | -0.266 | |
Stage-wise test statistic (3) | 0.601 | 0.577 |
Stage-wise p-value (1) | 0.3736 | 0.6267 |
Stage-wise p-value (2) | 0.6051 | |
Stage-wise p-value (3) | 0.2739 | 0.2820 |
Conditional error rate (1, 2, 3) | 0.0062 | |
Second stage p-value (1, 2, 3) | 0.3810 | |
Test action: reject (1) | FALSE | FALSE |
Test action: reject (2) | FALSE | FALSE |
Test action: reject (3) | FALSE | FALSE |
96% overall confidence interval (1) | -7.244 - 225.387 | |
96% overall confidence interval (2) | ||
96% overall confidence interval (3) | 39.389 - 267.535 | |
Overall p-value (1) | >0.5 | |
Overall p-value (2) | ||
Overall p-value (3) | 0.3768 |
Legend:
- (i): results of treatment arm i vs. control arm
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
Analysis results multi-arm - rates
<- getDataset(
dataExampleRates n1 = c(23, 25),
n2 = c(25, NA),
n3 = c(24, 27),
n4 = c(22, 29),
events1 = c(15, 12),
events2 = c(19, NA),
events3 = c(18, 22),
events4 = c(12, 13)
)
|>
design1 getAnalysisResults(
dataInput = dataExampleRates,
intersectionTest = "Bonferroni",
nPlanned = c(20, 20),
directionUpper = TRUE,
piTreatments = c(0.4, 0.6, 0.5)
|>
) summary()
Multi-arm analysis results for a binary endpoint (3 active arms vs. control)
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a multi-arm test for rates, Bonferroni intersection test, normal approximation test. H0: pi(i) - pi(control) = 0 against H1: pi(i) - pi(control) > 0. The conditional power calculation with planned sample size is based on assumed treatment rate: pi(1) = 0.4, pi(2) = 0.6, pi(3) = 0.5 and overall control rate = 0.49.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size (1) | 0.107 | 0.072 | ||
Cumulative effect size (2) | 0.215 | |||
Cumulative effect size (3) | 0.205 | 0.294 | ||
Cumulative treatment rate (1) | 0.652 | 0.562 | ||
Cumulative treatment rate (2) | 0.760 | |||
Cumulative treatment rate (3) | 0.750 | 0.784 | ||
Cumulative control rate | 0.545 | 0.490 | ||
Stage-wise test statistic (1) | 0.730 | 0.233 | ||
Stage-wise test statistic (2) | 1.549 | |||
Stage-wise test statistic (3) | 1.455 | 2.831 | ||
Stage-wise p-value (1) | 0.2325 | 0.4078 | ||
Stage-wise p-value (2) | 0.0607 | |||
Stage-wise p-value (3) | 0.0728 | 0.0023 | ||
Adjusted stage-wise p-value (1, 2, 3) | 0.1821 | 0.0046 | ||
Overall adjusted test statistic (1, 2, 3) | 0.907 | 2.612 | ||
Test action: reject (1) | FALSE | FALSE | ||
Test action: reject (2) | FALSE | FALSE | ||
Test action: reject (3) | FALSE | TRUE | ||
Conditional rejection probability (1) | 0.0227 | 0.0088 | ||
Conditional rejection probability (2) | 0.0283 | |||
Conditional rejection probability (3) | 0.0283 | 0.3346 | ||
Planned sample size | 20 | 20 | ||
Conditional power (1) | 0.0004 | 0.0016 | ||
Conditional power (2) | ||||
Conditional power (3) | 0.2769 | 0.3544 | ||
96% repeated confidence interval (1) | -0.336 - 0.513 | -0.236 - 0.356 | ||
96% repeated confidence interval (2) | -0.222 - 0.588 | |||
96% repeated confidence interval (3) | -0.237 - 0.583 | -0.003 - 0.549 | ||
Repeated p-value (1) | >0.5 | >0.5 | ||
Repeated p-value (2) | >0.5 | |||
Repeated p-value (3) | >0.5 | 0.0179 |
Legend:
- (i): results of treatment arm i vs. control arm
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
Analysis results multi-arm - survival
<- getDataset(
dataExampleSurvival events1 = c(25, 32),
events2 = c(18, NA),
events3 = c(22, 36),
logRanks1 = c(2.2, 1.8),
logRanks2 = c(1.99, NA),
logRanks3 = c(2.32, 2.11)
)
getDesignConditionalDunnett(
alpha = 0.02,
informationAtInterim = 0.4,
secondStageConditioning = TRUE
|>
) getAnalysisResults(
dataInput = dataExampleSurvival,
intersectionTest = "Dunnett",
directionUpper = TRUE,
thetaH0 = 2
|>
) summary()
Multi-arm analysis results for a survival endpoint (3 active arms vs. control)
Sequential analysis with 2 looks (conditional Dunnett test design), one-sided overall significance level 2%. The results were calculated using a multi-arm logrank test, conditional second stage p-values. H0: hazard ratio(i) = 2 against H1: hazard ratio(i) > 2.
Stage | 1 | 2 |
---|---|---|
Fixed information at interim | 0.4 | |
Significance level | 0.0200 | |
Cumulative effect size (1) | 2.411 | 2.103 |
Cumulative effect size (2) | 2.555 | |
Cumulative effect size (3) | 2.689 | 2.252 |
Stage-wise test statistic (1) | 0.467 | -0.161 |
Stage-wise test statistic (2) | 0.520 | |
Stage-wise test statistic (3) | 0.694 | 0.031 |
Stage-wise p-value (1) | 0.3202 | 0.5638 |
Stage-wise p-value (2) | 0.3017 | |
Stage-wise p-value (3) | 0.2437 | 0.4878 |
Conditional error rate (1, 2, 3) | 0.0103 | |
Second stage p-value (1, 2, 3) | 0.6188 | |
Test action: reject (1) | FALSE | FALSE |
Test action: reject (2) | FALSE | FALSE |
Test action: reject (3) | FALSE | FALSE |
96% overall confidence interval (1) | 1.122 - 3.911 | |
96% overall confidence interval (2) | ||
96% overall confidence interval (3) | 1.217 - 4.197 | |
Overall p-value (1) | 0.4913 | |
Overall p-value (2) | ||
Overall p-value (3) | 0.4913 |
Legend:
- (i): results of treatment arm i vs. control arm
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
Analysis results enrichment
Analysis results enrichment - means
<- getDataset(
dataS1 means1 = c(13.2, 12.8),
means2 = c(11.1, 10.8),
stDev1 = c(3.4, 3.3),
stDev2 = c(2.9, 3.5),
n1 = c(21, 22),
n2 = c(19, 21)
)<- getDataset(
dataNotS1 means1 = c(11.8, NA),
means2 = c(11.5, NA),
stDev1 = c(3.6, NA),
stDev2 = c(2.7, NA),
n1 = c(15, NA),
n2 = c(13, NA)
)<- getDataset(S1 = dataS1, R = dataNotS1)
dataExampleMeans
|>
design1 getAnalysisResults(
dataInput = dataExampleMeans,
varianceOption = "pooledFromFull",
intersectionTest = "SpiessensDebois",
nPlanned = c(20, 20),
directionUpper = TRUE,
assumedStDevs = 5
|>
) summary()
Enrichment analysis results for a continuous endpoint (2 populations)
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample t-test, Spiessens and Debois intersection test, pooled from full population variances option, stratified analysis. H0: mu(treatment) - mu(control) = 0 against H1: mu(treatment) - mu(control) > 0. The conditional power calculation with planned sample size is based on overall effect: thetaH1(S1) = 2.05, thetaH1(F) = NA and assumed standard deviation = 5.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size S1 | 2.100 | 2.053 | ||
Cumulative effect size F | 1.354 | |||
Cumulative (pooled) standard deviation S1 | 3.173 | 3.256 | ||
Cumulative (pooled) standard deviation F | 3.186 | |||
Stage-wise test statistic S1 | 2.079 | 1.929 | ||
Stage-wise test statistic F | 1.755 | |||
Stage-wise p-value S1 | 0.0222 | 0.0304 | ||
Stage-wise p-value F | 0.0421 | |||
Adjusted stage-wise p-value (1, 2) | 0.0334 | 0.0304 | ||
Overall adjusted test statistic (1, 2) | 1.833 | 2.605 | ||
Test action: reject S1 | FALSE | TRUE | ||
Test action: reject F | FALSE | FALSE | ||
Conditional rejection probability S1 | 0.0835 | 0.3318 | ||
Conditional rejection probability F | 0.0743 | |||
Planned sample size | 20 | 20 | ||
Conditional power S1 | 0.6080 | 0.7684 | ||
Conditional power F | ||||
96% repeated confidence interval S1 | -1.101 - 5.301 | 0.025 - 4.066 | ||
96% repeated confidence interval F | -1.097 - 3.817 | |||
Repeated p-value S1 | 0.3255 | 0.0182 | ||
Repeated p-value F | 0.4097 |
Legend:
- F: full population
- S[i]: population i
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
Analysis results enrichment - rates
<- getDataset(
S1 events2 = c(16, 19),
sampleSizes2 = c(33, 34),
events1 = c(26, 29),
sampleSizes1 = c(35, 32)
)<- getDataset(
S2 events2 = c(12, 15),
sampleSizes2 = c(36, 31),
events1 = c(22, 24),
sampleSizes1 = c(31, 39)
)<- getDataset(
F events2 = c(65, 54),
sampleSizes2 = c(83, 84),
events1 = c(66, 59),
sampleSizes1 = c(85, 82)
)
<- getDataSet(S1 = S1, S2 = S2, F = F)
dataExampleRates
|>
design1 getAnalysisResults(
dataInput = dataExampleRates,
stratifiedAnalysis = FALSE,
intersectionTest = "Simes",
nPlanned = c(20, 20),
piControls = c(0.6, 0.2, 0.3),
directionUpper = TRUE
|>
) summary()
Enrichment analysis results for a binary endpoint (3 populations)
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample test for rates, Simes intersection test, normal approximation test, non-stratified analysis. H0: pi(treatment) - pi(control) = 0 against H1: pi(treatment) - pi(control) > 0. The conditional power calculation with planned sample size is based on overall treatment rate: pi(S1) = 0.82, pi(S2) = 0.66, pi(F) = 0.75 and assumed control rate: pi(S1) = 0.6, pi(S2) = 0.2, pi(F) = 0.3.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size S1 | 0.258 | 0.299 | ||
Cumulative effect size S2 | 0.376 | 0.254 | ||
Cumulative effect size F | -0.007 | 0.036 | ||
Cumulative treatment rate S1 | 0.743 | 0.821 | ||
Cumulative treatment rate S2 | 0.710 | 0.657 | ||
Cumulative treatment rate F | 0.776 | 0.749 | ||
Cumulative control rate S1 | 0.485 | 0.522 | ||
Cumulative control rate S2 | 0.333 | 0.403 | ||
Cumulative control rate F | 0.783 | 0.713 | ||
Stage-wise test statistic S1 | 2.188 | 3.167 | ||
Stage-wise test statistic S2 | 3.072 | 1.100 | ||
Stage-wise test statistic F | -0.104 | 1.059 | ||
Stage-wise p-value S1 | 0.0143 | 0.0008 | ||
Stage-wise p-value S2 | 0.0011 | 0.1356 | ||
Stage-wise p-value F | 0.5415 | 0.1448 | ||
Adjusted stage-wise p-value (1, 2, 3) | 0.0032 | 0.0023 | ||
Overall adjusted test statistic (1, 2, 3) | 2.728 | 3.910 | ||
Test action: reject S1 | FALSE | TRUE | ||
Test action: reject S2 | FALSE | TRUE | ||
Test action: reject F | FALSE | FALSE | ||
Conditional rejection probability S1 | 0.0900 | 0.7054 | ||
Conditional rejection probability S2 | 0.2063 | 0.3252 | ||
Conditional rejection probability F | 0.0076 | 0.0123 | ||
Planned sample size | 20 | 20 | ||
Conditional power S1 | 0.9368 | 0.9735 | ||
Conditional power S2 | 0.9478 | 0.9948 | ||
Conditional power F | 0.2417 | 0.7339 | ||
96% repeated confidence interval S1 | -0.118 - 0.573 | 0.052 - 0.533 | ||
96% repeated confidence interval S2 | -0.016 - 0.667 | -0.046 - 0.491 | ||
96% repeated confidence interval F | -0.214 - 0.202 | -0.120 - 0.197 | ||
Repeated p-value S1 | 0.2793 | 0.0010 | ||
Repeated p-value S2 | 0.0310 | 0.0191 | ||
Repeated p-value F | >0.5 | >0.5 |
Legend:
- F: full population
- S[i]: population i
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
Analysis results enrichment - survival
<- getDataset(
S events = c(16, 19),
logRanks = c(1.5, 1.3)
)
<- getDataset(
R events = c(16, 29),
logRanks = c(1.5, 1.3)
)<- getDataset(S1 = S, F = R)
dataExampleSurvival
getAnalysisResults(
design = design1, dataInput = dataExampleSurvival,
intersectionTest = "Simes", nPlanned = c(20, 20), directionUpper = TRUE
|>
) summary()
Test statistics from full (and sub-populations) need to be stratified log-rank tests
Enrichment analysis results for a survival endpoint (2 populations)
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample logrank test, Simes intersection test, stratified analysis. H0: hazard ratio = 1 against H1: hazard ratio > 1. The conditional power calculation with planned sample size is based on overall effect: thetaH1(S1) = 1.95, thetaH1(F) = 1.78.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size S1 | 2.117 | 1.948 | ||
Cumulative effect size F | 2.117 | 1.782 | ||
Stage-wise test statistic S1 | 1.500 | 1.300 | ||
Stage-wise test statistic F | 1.500 | 1.300 | ||
Stage-wise p-value S1 | 0.0668 | 0.0968 | ||
Stage-wise p-value F | 0.0668 | 0.0968 | ||
Adjusted stage-wise p-value (1, 2) | 0.0668 | 0.0968 | ||
Overall adjusted test statistic (1, 2) | 1.500 | 1.946 | ||
Test action: reject S1 | FALSE | FALSE | ||
Test action: reject F | FALSE | FALSE | ||
Conditional rejection probability S1 | 0.0574 | 0.1312 | ||
Conditional rejection probability F | 0.0574 | 0.1312 | ||
Planned sample size | 20 | 20 | ||
Conditional power S1 | 0.5342 | 0.8076 | ||
Conditional power F | 0.4551 | 0.7248 | ||
96% repeated confidence interval S1 | 0.453 - 9.887 | 0.703 - 5.334 | ||
96% repeated confidence interval F | 0.453 - 9.887 | 0.734 - 4.381 | ||
Repeated p-value S1 | >0.5 | 0.0970 | ||
Repeated p-value F | >0.5 | 0.0970 |
Legend:
- F: full population
- S[i]: population i
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
|>
design1 getAnalysisResults(
dataInput = dataExampleSurvival,
intersectionTest = "Simes",
nPlanned = c(20, 20),
directionUpper = TRUE
|>
) summary()
Test statistics from full (and sub-populations) need to be stratified log-rank tests
Enrichment analysis results for a survival endpoint (2 populations)
Sequential analysis with 4 looks (inverse normal combination test design), one-sided overall significance level 2%. The results were calculated using a two-sample logrank test, Simes intersection test, stratified analysis. H0: hazard ratio = 1 against H1: hazard ratio > 1. The conditional power calculation with planned sample size is based on overall effect: thetaH1(S1) = 1.95, thetaH1(F) = 1.78.
Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|
Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |
Cumulative alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |
Stage levels (one-sided) | 0.0021 | 0.0050 | 0.0084 | 0.0116 |
Efficacy boundary (z-value scale) | 2.870 | 2.572 | 2.391 | 2.272 |
Futility boundary (z-value scale) | -0.500 | 0.000 | 0.500 | |
Cumulative effect size S1 | 2.117 | 1.948 | ||
Cumulative effect size F | 2.117 | 1.782 | ||
Stage-wise test statistic S1 | 1.500 | 1.300 | ||
Stage-wise test statistic F | 1.500 | 1.300 | ||
Stage-wise p-value S1 | 0.0668 | 0.0968 | ||
Stage-wise p-value F | 0.0668 | 0.0968 | ||
Adjusted stage-wise p-value (1, 2) | 0.0668 | 0.0968 | ||
Overall adjusted test statistic (1, 2) | 1.500 | 1.946 | ||
Test action: reject S1 | FALSE | FALSE | ||
Test action: reject F | FALSE | FALSE | ||
Conditional rejection probability S1 | 0.0574 | 0.1312 | ||
Conditional rejection probability F | 0.0574 | 0.1312 | ||
Planned sample size | 20 | 20 | ||
Conditional power S1 | 0.5342 | 0.8076 | ||
Conditional power F | 0.4551 | 0.7248 | ||
96% repeated confidence interval S1 | 0.453 - 9.887 | 0.703 - 5.334 | ||
96% repeated confidence interval F | 0.453 - 9.887 | 0.734 - 4.381 | ||
Repeated p-value S1 | >0.5 | 0.0970 | ||
Repeated p-value F | >0.5 | 0.0970 |
Legend:
- F: full population
- S[i]: population i
- (i, j, …): comparison of treatment arms ‘i, j, …’ vs. control arm
System: rpact 4.1.1.9280, R version 4.4.2 (2024-10-31), platform: x86_64-pc-linux-gnu
To cite R in publications use:
R Core Team (2024). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/.
To cite package ‘rpact’ in publications use:
Wassmer G, Pahlke F (2025). rpact: Confirmatory Adaptive Clinical Trial Design and Analysis. R package version 4.1.1.9280, commit dd4318fc8bf1b2b9bb09b7830f814871b43bcef8, https://github.com/rpact-com/rpact.