You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: vignettes/intopkg.Rmd
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ One possible solution, if the required sample size is not feasible, is to power
114
114
115
115
## Testing multiple primary endpoints
116
116
117
-
When a trial aims to evaluate equivalence for at least $k$ out of $m$ primary endpoints, multiple tests are required. The total number of tests depends on the approach used to evaluate equivalence. For example, with $m=3$ independent primary endpoints and a significance level of $\alpha = 5\%$, the probability of making a Type I error on at least one hypothesis test is:
117
+
When a trial aims to evaluate equivalence for at least $k$ out of $m$ primary endpoints, adjustments must be made to account for the increased probability of Type I errors due to multiple hypothesis testing. For example, with $m=3$ independent primary endpoints and a significance level of $\alpha = 5\%$, the probability of making a Type I error on at least one hypothesis test is:
118
118
119
119
$$ 1 – (1-\alpha)^m = 1 - (1-0.05)^3 = 0.1426. $$
120
120
This means that the overall probability of making any false positive error, also known as the **family-wise error rate (FWER)**, increases to approximately 14%.
@@ -27,7 +27,7 @@ Similar to the example presented in [Bioequivalence Tests for Parallel Trial Des
27
27
28
28
In many studies, it is necessary to evaluate equivalence across multiple primary variables. For example, the European Medicines Agency (EMA) recommends demonstrating equivalence for both the Area Under the Curve (AUC) and the maximum concentration (Cmax) when assessing pharmacokinetic properties. However, in this case, we evaluate equivalence across three treatment arms, including a test biosimilar and two reference products, each sourced from a different regulatory region.
29
29
30
-
This vignette demonstrates advanced techniques for calculating sample size in such trials, where both multiple endpoints and multiple reference products are considered. As an illustrative example, we use data from the phase-1 trial [NCT01922336](https://clinicaltrials.gov/study/NCT01922336#study-overview), which assessed pharmacokinetics following a single dose of SB2, its EU-sourced reference product (EU_Remicade), and its US-sourced reference product (USA_Remicade) [@shin_randomized_2015].
30
+
This vignette demonstrates advanced techniques for calculating sample size in such trials, where both multiple endpoints and multiple reference products are considered. As an illustrative example, we use data from the phase-1 trial [NCT01922336](https://clinicaltrials.gov/study/NCT01922336#study-overview), which assessed pharmacokinetics following a single dose of SB2, its EU-sourced reference product (EU-INF), and its US-sourced reference product (US-INF) [@shin_randomized_2015].
31
31
32
32
```{r inputdata, echo=FALSE}
33
33
@@ -64,15 +64,15 @@ Below is the R code to define the required data:
@@ -89,26 +89,127 @@ In this example, we aim to demonstrate:
89
89
* Bioequivalence of SB2 vs. EU-INF for AUCinf and Cmax, and
90
90
* Bioequivalence of SB2 vs. US-INF for AUClast and Cmax.
91
91
92
+
The comparisons can be specified as follows:
93
+
94
+
```{r}
95
+
# Arms to be compared
96
+
list_comparator <- list(
97
+
EMA = c("SB2", "EUINF"),
98
+
FDA = c("SB2", "USINF")
99
+
)
100
+
101
+
# Endpoints to be compared
102
+
list_y_comparator <- list(
103
+
EMA = c("AUCinf", "Cmax"),
104
+
FDA = c("AUClast", "Cmax")
105
+
)
106
+
```
107
+
92
108
For all endpoints, bioequivalence is established if the 90% confidence intervals for the ratios of the geometric means fall within the equivalence range of 80.00% to 125.00%.
93
109
94
110
Below is the R code to define the equivalence boundaries for each comparison:
95
111
96
112
```{r}
97
113
# Define comparators and equivalence boundaries
98
114
list_comparator <- list(
99
-
"EMA" = c("SB2", "EUREF"),
100
-
"FDA" = c("SB2", "USREF")
115
+
"EMA" = c("SB2", "EUINF"),
116
+
"FDA" = c("SB2", "USINF")
117
+
)
118
+
119
+
list_lequi.tol <- list(
120
+
"EMA" = c(AUCinf = 0.8, Cmax = 0.8),
121
+
"FDA" = c(AUClast = 0.8, Cmax = 0.8)
122
+
)
123
+
124
+
list_uequi.tol <- list(
125
+
"EMA" = c(AUCinf = 1.25, Cmax = 1.25),
126
+
"FDA" = c(AUClast = 1.25, Cmax = 1.25)
127
+
)
128
+
```
129
+
130
+
Here, the `list_comparator` parameter specifies the arms being compared, while `list_lequi.tol` and `list_uequi.tol` define the lower and upper equivalence boundaries for the endpoints under consideration.
131
+
132
+
To calculate the required sample size for testing equivalence under the specified conditions, we use the [sampleSize()](../reference/sampleSize.html) function from the SimTOST package. This function computes the total sample size needed to achieve the target power while ensuring equivalence criteria are met.
133
+
134
+
```{r}
135
+
library(SimTOST)
136
+
137
+
(N_ss <- sampleSize(power = 0.9, # Target power
138
+
alpha = 0.05, # Type I error rate
139
+
mu_list = mu_list, # Means for each endpoint and arm
lognorm = TRUE, # Log-normal distribution assumption
149
+
ncores = 1, # Number of cores for computation
150
+
nsim = 1000, # Number of stochastic simulations
151
+
seed = 1234)) # Random seed for reproducibility
152
+
```
153
+
154
+
We find a total sample size of N_ss$response$n_total patients (or `r N_ss$response$n_total/3` per arm) are required to demonstrate equivalence.
155
+
156
+
# Simultaneous Testing of Independent Primary Endpoints
157
+
158
+
## Equivalence for At Least 2 of the 3 Endpoints with Bonferroni Adjustment
159
+
In this example, we aim to establish equivalence for at least two out of three primary endpoints while accounting for multiplicity using the Bonferroni adjustment. The following assumptions are made:
160
+
161
+
* Equality of Variances: Variances are assumed to be equal across groups (`vareq = TRUE`).
162
+
* Testing Parameter: The Ratio of Means (ROM) is used as the testing parameter (`ctype = "ROM"`).
163
+
* Design: A parallel trial design is assumed (`dtype = "parallel"`).
164
+
* Distribution: Endpoint data follows a log-normal distribution (`lognorm = TRUE`).
165
+
* Correlation: Endpoints are assumed to be independent, with no correlation between them (default `rho = 0`).
166
+
* Multiplicity Adjustment: The Bonferroni correction is applied to control for Type I error (`adjust = "bon"`).
167
+
* Equivalence Criterion: Equivalence is required for at least two of the three endpoints (`k = 2`).
168
+
169
+
These settings ensure a robust framework for testing multiple endpoints while maintaining control of the family-wise error rate.
170
+
171
+
The comparisons and equivalence boundaries can be defined as follows:
172
+
173
+
```{r}
174
+
# Endpoints to be compared for each comparator
175
+
list_y_comparator <- list(
176
+
EMA = c("AUCinf", "AUClast", "Cmax"),
177
+
FDA = c("AUCinf", "AUClast", "Cmax")
101
178
)
102
179
180
+
# Define lower equivalence boundaries for each comparator
0 commit comments