```
library(rpact)
packageVersion("rpact")
```

# How to Create Summaries with rpact

# Global options

**First, load the rpact package**

`[1] '3.5.1'`

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 (default is one more than value of rpact.summary.digits, i.e., 4).

`rpact.summary.trim.zeroes`

: if TRUE (default) zeroes will always 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

```
kable(summary(getDesignGroupSequential(
beta = 0.05, typeOfDesign = "asKD", gammaA = 1,
typeBetaSpending = "bsOF"
)))
```

**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 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 2.394 | 2.294 | 2.200 |

Stage levels (one-sided) | 0.0083 | 0.0109 | 0.0139 |

Futility boundary (z-value scale) | -0.993 | 0.982 | |

Cumulative alpha spent | 0.0083 | 0.0167 | 0.0250 |

Cumulative beta spent | 0.0007 | 0.0164 | 0.0500 |

Overall power | 0.4259 | 0.8092 | 0.9500 |

Futility probabilities under H1 | <0.001 | 0.016 |

`kable(summary(getDesignGroupSequential(kMax = 1)))`

**Fixed sample analysis**

O’Brien & Fleming design, one-sided significance level 2.5%, power 80%, undefined endpoint.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

Stage levels (one-sided) | 0.0250 |

`kable(summary(getDesignGroupSequential(kMax = 4, sided = 2)))`

**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 |
---|---|---|---|---|

Information rate | 25% | 50% | 75% | 100% |

Efficacy boundary (z-value scale) | 4.579 | 3.238 | 2.644 | 2.289 |

Stage levels (one-sided) | <0.0001 | 0.0006 | 0.0041 | 0.0110 |

Cumulative alpha spent | <0.0001 | 0.0012 | 0.0086 | 0.0250 |

Overall power | 0.0012 | 0.1494 | 0.5227 | 0.8000 |

`kable(summary(getDesignGroupSequential(kMax = 4, sided = 2), 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 |
---|---|---|---|---|

Information rate | 25% | 50% | 75% | 100% |

Efficacy boundary (z-value scale) | 4.579 | 3.238 | 2.644 | 2.289 |

Stage levels (one-sided) | 0.000002339 | 0.000602619 | 0.004102447 | 0.011029355 |

Cumulative alpha spent | 0.000004679 | 0.001207215 | 0.008644578 | 0.024999990 |

Overall power | 0.001247 | 0.149399 | 0.522709 | 0.800000 |

`kable(summary(getDesignGroupSequential(futilityBounds = c(-6, 0)), 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 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.47109 | 2.45443 | 2.00404 |

Stage levels (one-sided) | 0.000259 | 0.007055 | 0.022533 |

Futility boundary (z-value scale) | -Inf | 0 | |

Cumulative alpha spent | 0.000259 | 0.007160 | 0.025000 |

Overall power | 0.032939 | 0.442575 | 0.800000 |

Futility probabilities under H1 | 0 | 0.01051 |

# Design plan summaries

## Design plan summaries - means

`kable(summary(getSampleSizeMeans(sided = 2, alternative = -0.5)))`

**Sample size calculation for a continuous endpoint**

Fixed sample analysis, significance level 2.5% (two-sided). The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect = -0.5, standard deviation = 1, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 2.241 |

Number of subjects | 154.6 |

Two-sided local significance level | 0.0250 |

Lower efficacy boundary (t) | -0.364 |

Upper efficacy boundary (t) | 0.364 |

Legend:

*(t)*: treatment effect scale

```
kable(summary(getPowerMeans(
sided = 1, alternative = c(-0.5, -0.3),
maxNumberOfSubjects = 100, directionUpper = FALSE
)))
```

**Power calculation for a continuous endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). 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 |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

Power, alt. = -0.5 | 0.6969 |

Power, alt. = -0.3 | 0.3175 |

Number of subjects | 100.0 |

One-sided local significance level | 0.0250 |

Efficacy boundary (t) | -0.397 |

Legend:

*alt.*: alternative*(t)*: treatment effect scale

`kable(summary(getSampleSizeMeans(getDesignGroupSequential(futilityBounds = c(1, 2))), digits = 0))`

**Sample size calculation for a continuous endpoint**

Sequential analysis with a maximum of 3 looks (group sequential design), overall significance level 2.5% (one-sided). The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect as specified, standard deviation = 1, power 80%.

Stage | 1 | 2 | 3 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |

Futility boundary (z-value scale) | 1.000 | 2.000 | |

Overall 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 | ||

Cumulative alpha spent | 0.0002592 | 0.0071601 | 0.0250000 |

One-sided local significance level | 0.0002592 | 0.0070554 | 0.0225331 |

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 | |

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:

*alt.*: alternative*(t)*: treatment effect scale

```
kable(summary(getPowerMeans(getDesignGroupSequential(futilityBounds = c(1, 2)),
maxNumberOfSubjects = 100, alternative = 1
)))
```

**Power calculation for a continuous endpoint**

Sequential analysis with a maximum of 3 looks (group sequential design), overall significance level 2.5% (one-sided). 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 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |

Futility boundary (z-value scale) | 1.000 | 2.000 | |

Overall power | 0.2700 | 0.9281 | 0.9563 |

Number of subjects | 33.3 | 66.7 | 100.0 |

Expected number of subjects under H1 | 57.6 | ||

Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |

One-sided local significance level | 0.0003 | 0.0071 | 0.0225 |

Efficacy boundary (t) | 1.340 | 0.618 | 0.406 |

Futility boundary (t) | 0.352 | 0.500 | |

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

`kable(summary(getSampleSizeMeans(getDesignGroupSequential(futilityBounds = c(1, 2))), digits = 3))`

**Sample size calculation for a continuous endpoint**

Sequential analysis with a maximum of 3 looks (group sequential design), overall significance level 2.5% (one-sided). The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect as specified, standard deviation = 1, power 80%.

Stage | 1 | 2 | 3 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |

Futility boundary (z-value scale) | 1.000 | 2.000 | |

Overall 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 | ||

Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |

One-sided local significance level | 0.0003 | 0.0071 | 0.0225 |

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 | |

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:

*alt.*: alternative*(t)*: treatment effect scale

`kable(summary(getSampleSizeMeans(getDesignGroupSequential(futilityBounds = c(1, 2))), digits = 0))`

**Sample size calculation for a continuous endpoint**

Sequential analysis with a maximum of 3 looks (group sequential design), overall significance level 2.5% (one-sided). The results were calculated for a two-sample t-test, H0: mu(1) - mu(2) = 0, H1: effect as specified, standard deviation = 1, power 80%.

Stage | 1 | 2 | 3 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |

Futility boundary (z-value scale) | 1.000 | 2.000 | |

Overall 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 | ||

Cumulative alpha spent | 0.0002592 | 0.0071601 | 0.0250000 |

One-sided local significance level | 0.0002592 | 0.0070554 | 0.0225331 |

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 | |

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:

*alt.*: alternative*(t)*: treatment effect scale

`kable(summary(getSampleSizeMeans(getDesignGroupSequential(futilityBounds = c(1, 2))), digits = -1))`

**Sample size calculation for a continuous endpoint**

Stage | 1 | 2 | 3 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.4710914446541 | 2.45443229863353 | 2.00403557995285 |

Futility boundary (z-value scale) | 1 | 2 | |

Overall power | 0.0966650610605349 | 0.703040057014069 | 0.80000000002314 |

Number of subjects, alt. = 0.2 | 472.175971190466 | 944.351942380932 | 1416.5279135714 |

Number of subjects, alt. = 0.4 | 118.918820873684 | 237.837641747368 | 356.756462621052 |

Number of subjects, alt. = 0.6 | 53.5130463596028 | 107.026092719206 | 160.539139078808 |

Number of subjects, alt. = 0.8 | 30.6352725529709 | 61.2705451059418 | 91.9058176589127 |

Number of subjects, alt. = 1 | 20.0614501594328 | 40.1229003188657 | 60.1843504782985 |

Expected number of subjects under H1, alt. = 0.2 | 888.920027605035 | ||

Expected number of subjects under H1, alt. = 0.4 | 223.87696109837 | ||

Expected number of subjects under H1, alt. = 0.6 | 100.743836089913 | ||

Expected number of subjects under H1, alt. = 0.8 | 57.6740643002558 | ||

Expected number of subjects under H1, alt. = 1 | 37.767751680711 | ||

Cumulative alpha spent | 0.000259173723496486 | 0.00716005940148245 | 0.02499999 |

One-sided local significance level | 0.000259173723496486 | 0.00705536161371012 | 0.0225331246048346 |

Efficacy boundary (t), alt. = 0.2 | 0.321710839190332 | 0.160038360077691 | 0.106587932791287 |

Efficacy boundary (t), alt. = 0.4 | 0.654823493383795 | 0.320689953155162 | 0.212954736915394 |

Efficacy boundary (t), alt. = 0.6 | 1.01268266453838 | 0.48256113296648 | 0.318855026247291 |

Efficacy boundary (t), alt. = 0.8 | 1.41302933799472 | 0.646240615813089 | 0.423996481981201 |

Efficacy boundary (t), alt. = 1 | 1.88164819392793 | 0.812280944461677 | 0.528020838325742 |

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 | |

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:

*alt.*: alternative*(t)*: treatment effect scale

## Design plan summaries - rates

`kable(summary(getSampleSizeRates(pi2 = 0.3)))`

**Sample size calculation for a binary endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). The results were calculated for a two-sample test for rates (normal approximation), H0: pi(1) - pi(2) = 0, H1: treatment rate pi(1) as specified, control rate pi(2) = 0.3, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

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 |

One-sided local significance level | 0.0250 |

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 |

Legend:

*(t)*: treatment effect scale

`kable(summary(getSampleSizeRates(getDesignGroupSequential(futilityBounds = c(1, 2)))))`

**Sample size calculation for a binary endpoint**

Sequential analysis with a maximum of 3 looks (group sequential design), overall significance level 2.5% (one-sided). The results were calculated for a two-sample test for rates (normal approximation), H0: pi(1) - pi(2) = 0, H1: treatment rate pi(1) as specified, control rate pi(2) = 0.2, power 80%.

Stage | 1 | 2 | 3 |
---|---|---|---|

Information rate | 33.3% | 66.7% | 100% |

Efficacy boundary (z-value scale) | 3.471 | 2.454 | 2.004 |

Futility boundary (z-value scale) | 1.000 | 2.000 | |

Overall 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 | ||

Cumulative alpha spent | 0.0003 | 0.0072 | 0.0250 |

One-sided local significance level | 0.0003 | 0.0071 | 0.0225 |

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 | |

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

```
kable(summary(getSampleSizeRates(getDesignGroupSequential(kMax = 1, sided = 2),
groups = 1, thetaH0 = 0.2, pi1 = c(0.4, 0.5)
)))
```

**Sample size calculation for a binary endpoint**

Fixed sample analysis, significance level 2.5% (two-sided). The results were calculated for a one-sample test for rates (normal approximation), H0: pi = 0.2, H1: treatment rate pi as specified, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 2.241 |

Number of subjects, pi(1) = 0.4 | 42.8 |

Number of subjects, pi(1) = 0.5 | 19.3 |

Two-sided local significance level | 0.0250 |

Lower efficacy boundary (t), pi(1) = 0.4 | 0.063 |

Lower efficacy boundary (t), pi(1) = 0.5 | -0.004 |

Upper efficacy boundary (t), pi(1) = 0.4 | 0.337 |

Upper efficacy boundary (t), pi(1) = 0.5 | 0.404 |

Legend:

*(t)*: treatment effect scale

## Design plan summaries - survival

`kable(summary(getSampleSizeSurvival(lambda2 = 0.3, hazardRatio = 1.2)))`

**Sample size calculation for a survival endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). 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, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

Number of subjects | 979.2 |

Number of events | 944.5 |

Analysis time | 18.000 |

Expected study duration | 18.0 |

One-sided local significance level | 0.0250 |

Efficacy boundary (t) | 1.136 |

Legend:

*(t)*: treatment effect scale

`kable(summary(getSampleSizeSurvival(median1 = c(3.1, 3.2), median2 = 2.3)))`

**Sample size calculation for a survival endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). 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, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

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.000 |

Expected study duration, median(1) = 3.1 | 18.0 |

Expected study duration, median(1) = 3.2 | 18.0 |

One-sided local significance level | 0.0250 |

Efficacy boundary (t), median(1) = 3.1 | 0.812 |

Efficacy boundary (t), median(1) = 3.2 | 0.794 |

Legend:

*(t)*: treatment effect scale

`kable(summary(getSampleSizeSurvival(pi1 = 0.1, pi2 = 0.3)))`

**Sample size calculation for a survival endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). 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, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

Number of subjects | 106.7 |

Number of events | 21.1 |

Analysis time | 18.000 |

Expected study duration | 18.0 |

One-sided local significance level | 0.0250 |

Efficacy boundary (t) | 0.426 |

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
)kable(summary(getSampleSizeSurvival(
piecewiseSurvivalTime = piecewiseSurvivalTime,
hazardRatio = 1.2
)))
```

**Sample size calculation for a survival endpoint**

Fixed sample analysis, significance level 2.5% (one-sided). 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, power 80%.

Stage | Fixed |
---|---|

Efficacy boundary (z-value scale) | 1.960 |

Number of subjects | 3350.9 |

Number of events | 944.5 |

Analysis time | 18.000 |

Expected study duration | 18.0 |

One-sided local significance level | 0.0250 |

Efficacy boundary (t) | 1.136 |

Legend:

*(t)*: treatment effect scale

# Simulation results summaries

## Simulation results base

### Simulation results base - means

```
<- getDesignInverseNormal(
design kMax = 3, alpha = 0.025,
futilityBounds = c(-0.5, 0), bindingFutility = FALSE,
typeOfDesign = "WT", deltaWT = 0.25,
informationRates = c(0.4, 0.7, 1)
)kable(summary(getSimulationMeans(
design = design, 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
)))
```

**Simulation of a continuous endpoint**

Sequential analysis with a maximum of 3 looks (inverse normal combination test design), overall significance level 2.5% (one-sided). 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 |

Efficacy boundary (z-value scale) | 2.631 | 2.287 | 2.092 |

Stage levels (one-sided) | 0.0043 | 0.0111 | 0.0182 |

Futility boundary (z-value scale) | -0.500 | 0.000 | |

Overall power, alt. = 0 | 0.0040 | 0.0110 | 0.0270 |

Overall power, alt. = 0.2 | 0.0190 | 0.0960 | 0.2090 |

Overall power, alt. = 0.4 | 0.0390 | 0.3250 | 0.6260 |

Overall power, alt. = 0.6 | 0.1330 | 0.7100 | 0.9300 |

Overall power, alt. = 0.8 | 0.2830 | 0.9320 | 0.9930 |

Stagewise number of subjects, alt. = 0 | 40.0 | 99.3 | 98.1 |

Stagewise number of subjects, alt. = 0.2 | 40.0 | 98.6 | 95.0 |

Stagewise number of subjects, alt. = 0.4 | 40.0 | 96.8 | 86.6 |

Stagewise number of subjects, alt. = 0.6 | 40.0 | 93.5 | 75.7 |

Stagewise 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 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 | |

Exit probability for efficacy, alt. = 0 | 0.0040 | 0.0070 | 0.0160 |

Exit probability for efficacy, alt. = 0.2 | 0.0190 | 0.0770 | 0.1130 |

Exit probability for efficacy, alt. = 0.4 | 0.0390 | 0.2860 | 0.3010 |

Exit probability for efficacy, alt. = 0.6 | 0.1330 | 0.5770 | 0.2200 |

Exit probability for efficacy, alt. = 0.8 | 0.2830 | 0.6490 | 0.0610 |

Legend:

*alt.*: alternative

### Simulation results base - rates

```
<- getDesignFisher(
design kMax = 3, alpha = 0.025,
alpha0Vec = c(0.5, 0.4), bindingFutility = FALSE,
informationRates = c(0.4, 0.7, 1)
)kable(summary(getSimulationRates(
design = design, plannedSubjects = c(40, 70, 100),
groups = 1,
thetaH0 = 0.2,
pi1 = seq(0.05, 0.2, 0.05),
directionUpper = FALSE,
maxNumberOfIterations = 1000,
seed = 1234
)))
```

**Simulation of a binary endpoint**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 2.5% (one-sided). The results were simulated for a one-sample test for rates (normal approximation), H0: pi = 0.2, power directed towards smaller values, H1: treatment rate 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 |

Efficacy boundary (p product scale) | 0.013187 | 0.002705 | 0.000641 |

Stage levels (one-sided) | 0.0132 | 0.0132 | 0.0132 |

Futility boundary (separate p-value scale) | 0.500 | 0.400 | |

Overall power, pi(1) = 0.05 | 0.6790 | 0.9040 | 0.9780 |

Overall power, pi(1) = 0.1 | 0.2150 | 0.3760 | 0.5540 |

Overall power, pi(1) = 0.15 | 0.0390 | 0.0670 | 0.1070 |

Overall power, pi(1) = 0.2 | 0.0090 | 0.0100 | 0.0110 |

Stagewise number of subjects, pi(1) = 0.05 | 40.0 | 30.0 | 30.0 |

Stagewise number of subjects, pi(1) = 0.1 | 40.0 | 30.0 | 30.0 |

Stagewise number of subjects, pi(1) = 0.15 | 40.0 | 30.0 | 30.0 |

Stagewise 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 futility, pi(1) = 0.05 | 0.0010 | 0.0020 | |

Exit probability for futility, pi(1) = 0.1 | 0.0410 | 0.0600 | |

Exit probability for futility, pi(1) = 0.15 | 0.2250 | 0.2150 | |

Exit probability for futility, pi(1) = 0.2 | 0.5680 | 0.2440 | |

Exit probability for efficacy, pi(1) = 0.05 | 0.6790 | 0.2250 | 0.0740 |

Exit probability for efficacy, pi(1) = 0.1 | 0.2150 | 0.1610 | 0.1780 |

Exit probability for efficacy, pi(1) = 0.15 | 0.0390 | 0.0280 | 0.0400 |

Exit probability for efficacy, pi(1) = 0.2 | 0.0090 | 0.0010 | 0.0010 |

### Simulation results base - survival

```
<- getDesignInverseNormal(
design alpha = 0.05, kMax = 4, futilityBounds = c(0, 0, 0),
sided = 1, typeOfDesign = "WT", deltaWT = 0.1
)kable(summary(getSimulationSurvival(
design = design,
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
)))
```

**Simulation of a survival endpoint**

Sequential analysis with a maximum of 4 looks (inverse normal combination test design), overall significance level 5% (one-sided). 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 |

Efficacy boundary (z-value scale) | 3.069 | 2.326 | 1.978 | 1.763 |

Stage levels (one-sided) | 0.0011 | 0.0100 | 0.0240 | 0.0390 |

Futility boundary (z-value scale) | 0 | 0 | 0 | |

Overall power, pi(1) = 0.1 | 0.4490 | 0.9970 | 0.9980 | 0.9980 |

Overall power, pi(1) = 0.15 | 0.0720 | 0.6740 | 0.9060 | 0.9350 |

Overall power, pi(1) = 0.2 | 0.0110 | 0.1030 | 0.2520 | 0.3910 |

Overall 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 | |

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 | |||

Expected number of events, pi(1) = 0.1 | 95.0 | |||

Expected number of events, pi(1) = 0.15 | 156.3 | |||

Expected number of events, pi(1) = 0.2 | 210.6 | |||

Expected number of events, pi(1) = 0.25 | 129.3 | |||

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 |

Analysis time, pi(1) = 0.1 | 11.835 | 28.462 | 52.123 | |

Analysis time, pi(1) = 0.15 | 10.474 | 23.558 | 39.687 | 61.524 |

Analysis time, pi(1) = 0.2 | 9.501 | 20.360 | 33.484 | 51.129 |

Analysis time, pi(1) = 0.25 | 8.704 | 18.049 | 29.107 | 43.841 |

Expected study duration, pi(1) = 0.1 | 21.0 | |||

Expected study duration, pi(1) = 0.15 | 26.8 | |||

Expected study duration, pi(1) = 0.2 | 32.1 | |||

Expected study duration, pi(1) = 0.25 | 18.5 | |||

Conditional power (achieved), pi(1) = 0.1 | 0.1884 | 0.2741 | ||

Conditional power (achieved), pi(1) = 0.15 | 0.0915 | 0.2110 | 0.2453 | |

Conditional power (achieved), pi(1) = 0.2 | 0.0377 | 0.0920 | 0.1364 | |

Conditional power (achieved), pi(1) = 0.25 | 0.0186 | 0.0356 | 0.0472 | |

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 | |

Exit probability for efficacy, pi(1) = 0.1 | 0.4490 | 0.5480 | 0.0010 | 0 |

Exit probability for efficacy, pi(1) = 0.15 | 0.0720 | 0.6020 | 0.2320 | 0.0290 |

Exit probability for efficacy, pi(1) = 0.2 | 0.0110 | 0.0920 | 0.1490 | 0.1390 |

Exit probability for efficacy, pi(1) = 0.25 | 0.0010 | 0.0020 | 0.0080 | 0.0110 |

## Simulation results multi-arm

### Simulation results multi-arm - means

```
options("rpact.summary.output.size" = "medium") # small, medium, large
<- getDesignFisher(alpha = 0.05, kMax = 3)
design kable(summary(getSimulationMultiArmMeans(
design = design,
plannedSubjects = c(40, 70, 100),
activeArms = 3,
typeOfShape = "sigmoidEmax",
gED50 = 2,
typeOfSelection = "rBest",
rValue = 2,
stDev = 1.2,
maxNumberOfIterations = 100,
seed = 1234
)))
```

**Simulation of a continuous endpoint (multi-arm design)**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 5% (one-sided). 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, 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 |

Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |

Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |

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 |

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 | |

Stagewise 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 |

Stagewise 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 |

Stagewise 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 |

Stagewise 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 |

Stagewise 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 |

Stagewise 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 |

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
kable(summary(getSimulationMultiArmRates(
design = design,
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),
piH1 = 0.6, piControlH1 = 0.4,
maxNumberOfIterations = 100,
seed = 1234
)))
```

```
Warning: Argument unknown in getSimulationMultiArmRates(...): 'piH1' = 0.6 will
be ignored
```

**Simulation of a binary endpoint (multi-arm design)**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 5% (one-sided). 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: treatment rate 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(control)H1 = 0.4, simulation runs = 100, seed = 1234.

Stage | 1 | 2 | 3 |
---|---|---|---|

Fixed weight | 1 | 1 | 1 |

Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |

Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |

Reject at least one [1] | 1.0000 | ||

Reject at least one [2] | 0.9400 | ||

Reject at least one [3] | 0.4000 | ||

Success per stage [1] | 0.1800 | 0.4800 | 0.1100 |

Success per stage [2] | 0 | 0.1300 | 0.1100 |

Success per stage [3] | 0.0100 | 0.0200 | 0.0200 |

Expected number of subjects under H1 [1] | 259.9 | ||

Expected number of subjects under H1 [2] | 484.6 | ||

Expected number of subjects under H1 [3] | 622.7 | ||

Overall exit probability [1] | 0.1800 | 0.4800 | |

Overall exit probability [2] | 0 | 0.1300 | |

Overall exit probability [3] | 0.0100 | 0.0200 | |

Stagewise number of subjects [1] | |||

Treatment arm 1 | 40.0 | 46.2 | 22.6 |

Treatment arm 2 | 40.0 | 27.0 | 14.4 |

Treatment arm 3 | 40.0 | 22.6 | 14.1 |

Control arm | 20.0 | 23.9 | 12.7 |

Stagewise number of subjects [2] | |||

Treatment arm 1 | 40.0 | 86.7 | 56.5 |

Treatment arm 2 | 40.0 | 70.9 | 43.1 |

Treatment arm 3 | 40.0 | 17.8 | 15.7 |

Control arm | 20.0 | 43.8 | 28.8 |

Stagewise number of subjects [3] | |||

Treatment arm 1 | 40.0 | 92.8 | 91.9 |

Treatment arm 2 | 40.0 | 44.4 | 44.5 |

Treatment arm 3 | 40.0 | 60.5 | 59.7 |

Control arm | 20.0 | 49.5 | 49.0 |

Selected arms [1] | |||

Treatment arm 1 | 1.0000 | 0.8000 | 0.3300 |

Treatment arm 2 | 1.0000 | 0.4300 | 0.1700 |

Treatment arm 3 | 1.0000 | 0.4100 | 0.1800 |

Selected arms [2] | |||

Treatment arm 1 | 1.0000 | 0.9900 | 0.8600 |

Treatment arm 2 | 1.0000 | 0.8000 | 0.6800 |

Treatment arm 3 | 1.0000 | 0.2100 | 0.2000 |

Selected arms [3] | |||

Treatment arm 1 | 1.0000 | 0.9300 | 0.9100 |

Treatment arm 2 | 1.0000 | 0.4400 | 0.4400 |

Treatment arm 3 | 1.0000 | 0.6100 | 0.5900 |

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
kable(summary(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]))
} )))
```

**Simulation of a survival endpoint (multi-arm design)**

Sequential analysis with a maximum of 3 looks (inverse normal combination test design), overall significance level 2.5% (one-sided). 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, 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 |

Efficacy boundary (z-value scale) | 4.455 | 2.572 | 1.992 |

Stage levels (one-sided) | <0.0001 | 0.0051 | 0.0232 |

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 |

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 | |

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 |

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 |

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(alpha = 0.05, kMax = 3)
design
<- 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)
)
kable(summary(getSimulationEnrichmentMeans(
design = design,
plannedSubjects = c(40, 70, 100),
effectList = effectList,
typeOfSelection = "rBest",
rValue = 2,
maxNumberOfIterations = 100,
seed = 1234
)))
```

```
Warning: Simulation of enrichment designs is experimental and hence not fully
validated (see www.rpact.com/experimental)
```

**Simulation of a continuous endpoint (enrichment design)**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 5% (one-sided). 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 |

Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |

Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |

Reject at least one | 0.5600 | ||

Success per stage | 0.0300 | 0.0400 | 0.0400 |

Expected number of subjects under H1 | 97.0 | ||

Overall exit probability | 0.0300 | 0.0400 | |

Stagewise number of subjects | |||

Subset S | 4.0 | 3.0 | 3.0 |

Remaining population R | 36.0 | 27.0 | 27.0 |

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)
)
kable(summary(getSimulationEnrichmentRates(
design = design,
plannedSubjects = c(40, 70, 100),
effectList = effectList,
typeOfSelection = "rBest",
rValue = 2,
maxNumberOfIterations = 100,
seed = 1234
)))
```

```
Warning: Simulation of enrichment designs is experimental and hence not fully
validated (see www.rpact.com/experimental)
```

**Simulation of a binary endpoint (enrichment design)**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 5% (one-sided). 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 treatment rate 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 |

Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |

Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |

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 |

Expected number of subjects under H1 | 97.9 | ||

Overall exit probability | 0.0200 | 0.0300 | |

Stagewise number of subjects | |||

Subset S | 4.0 | 3.0 | 3.0 |

Remaining population R | 36.0 | 27.0 | 27.0 |

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)
)
kable(summary(getSimulationEnrichmentSurvival(
design = design,
plannedEvents = c(40, 70, 100),
effectList = effectList,
conditionalPower = 0.8,
minNumberOfEventsPerStage = c(40, 20, 20),
maxNumberOfEventsPerStage = c(40, 100, 100),
maxNumberOfIterations = 100,
seed = 1234
)))
```

```
Warning: Simulation of enrichment designs is experimental and hence not fully
validated (see www.rpact.com/experimental)
```

**Simulation of a survival endpoint (enrichment design)**

Sequential analysis with a maximum of 3 looks (Fisher’s combination test design), overall significance level 5% (one-sided). 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 |

Efficacy boundary (p product scale) | 0.0255136 | 0.0038966 | 0.0007481 |

Stage levels (one-sided) | 0.0255 | 0.0255 | 0.0255 |

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 |

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 | |

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 |

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
)
kable(summary(getAnalysisResults(
design = design1, dataInput = simpleDataExampleMeans1,
nPlanned = 130, thetaH0 = 30, thetaH1 = 60, assumedStDev = 100
)))
```

`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). The results were calculated using a one-sample t-test (one-sided, alpha = 0.02). 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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
)
kable(summary(getAnalysisResults(
design = design1, dataInput = simpleDataExampleMeans2,
equalVariances = TRUE, directionUpper = TRUE
)))
```

**Analysis results for a continuous endpoint**

Sequential analysis with 4 looks (inverse normal combination test design). The results were calculated using a two-sample t-test (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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)
)
kable(summary(getAnalysisResults(
design = design1, dataInput = simpleDataExampleRates1,
stage = 3, thetaH0 = 0.75, normalApproximation = TRUE, directionUpper = FALSE,
nPlanned = 10
)))
```

`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). The results were calculated using a one-sample test for rates (one-sided, alpha = 0.02), 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.52.

Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|

Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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)
)
kable(summary(getAnalysisResults(design1, simpleDataExampleRates2,
thetaH0 = 0, stage = 2, directionUpper = TRUE,
normalApproximation = FALSE, pi1 = 0.9, pi2 = 0.3, nPlanned = c(20, 20)
)))
```

`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). The results were calculated using a two-sample test for rates (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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)
)
kable(simpleDataExampleSurvival$getNumberOfGroups())
```

x |
---|

2 |

`kable(summary(getAnalysisResults(design1, simpleDataExampleSurvival, directionUpper = TRUE)))`

`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). The results were calculated using a two-sample logrank test (one-sided, alpha = 0.02). H0: hazard ratio = 1 against H1: hazard ratio > 1.

Stage | 1 | 2 | 3 | 4 |
---|---|---|---|---|

Fixed weight | 0.387 | 0.5 | 0.548 | 0.548 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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)
)
kable(summary(getAnalysisResults(
design = design3, dataInput = dataExampleMeans, stage = 2, thetaH0 = 120,
directionUpper = TRUE, normalApproximation = TRUE,
assumedStDevs = c(24, 25, 23)
)))
```

```
Warning: 'assumedStDevs' (24, 25, 23) will be ignored because 'nPlanned' is not
defined
```

**Multi-arm analysis results for a continuous endpoint (3 active arms vs. control)**

Sequential analysis with 2 looks (conditional Dunnett test design). The results were calculated using a multi-arm t-test (one-sided, alpha = 0.02), normal approximation test, overall pooled variances option, conditional second stage p-values. H0: mu(1) = 120 against H1: mu(1) > 120.

Stage | 1 | 2 |
---|---|---|

Fixed information at interim | 0.4 | |

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)
)
kable(summary(getAnalysisResults(
design = design1, dataInput = dataExampleRates,
intersectionTest = "Bonferroni", nPlanned = c(20, 20),
directionUpper = TRUE, piTreatments = c(0.4, 0.6, 0.5)
)))
```

**Multi-arm analysis results for a binary endpoint (3 active arms vs. control)**

Sequential analysis with 4 looks (inverse normal combination test design). The results were calculated using a multi-arm test for rates (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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)
)
kable(summary(getAnalysisResults(
design = design3, dataInput = dataExampleSurvival,
intersectionTest = "Dunnett", directionUpper = TRUE, thetaH0 = 2
)))
```

**Multi-arm analysis results for a survival endpoint (3 active arms vs. control)**

Sequential analysis with 2 looks (conditional Dunnett test design). The results were calculated using a multi-arm logrank test (one-sided, alpha = 0.02), conditional second stage p-values. H0: hazard ratio = 2 against H1: hazard ratio > 2.

Stage | 1 | 2 |
---|---|---|

Fixed information at interim | 0.4 | |

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
kable(summary(getAnalysisResults(
design = design1, dataInput = dataExampleMeans, varianceOption = "pooledFromFull",
intersectionTest = "SpiessensDebois", nPlanned = c(20, 20), directionUpper = TRUE, assumedStDevs = 5
)))
```

**Enrichment analysis results for a continuous endpoint (2 populations)**

Sequential analysis with 4 looks (inverse normal combination test design). The results were calculated using a two-sample t-test (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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
kable(summary(getAnalysisResults(
design = design1, dataInput = dataExampleRates, stratifiedAnalysis = FALSE,
intersectionTest = "Simes", nPlanned = c(20, 20),
piControls = c(0.6, 0.2, 0.3),
directionUpper = TRUE
)))
```

**Enrichment analysis results for a binary endpoint (3 populations)**

Sequential analysis with 4 looks (inverse normal combination test design). The results were calculated using a two-sample test for rates (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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 | 0.485 | 0.333 | 0.783 | |

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
kable(summary(getAnalysisResults(
design = design1, dataInput = dataExampleSurvival,
intersectionTest = "Simes", nPlanned = c(20, 20), directionUpper = TRUE
)))
```

`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). The results were calculated using a two-sample logrank test (one-sided, alpha = 0.02), 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 |

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 alpha spent | 0.0021 | 0.0067 | 0.0130 | 0.0200 |

Stage level | 0.0021 | 0.0050 | 0.0084 | 0.0116 |

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 3.5.1, R version 4.3.2 (2023-10-31 ucrt), platform: x86_64-w64-mingw32

To cite R in publications use:

R Core Team (2023). *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 (2024). *rpact: Confirmatory Adaptive Clinical Trial Design and Analysis*. R package version 3.5.1, https://www.rpact.com, https://github.com/rpact-com/rpact, https://rpact-com.github.io/rpact/, https://www.rpact.org.