power.tsd.GS: Power calculation for non-adaptive group sequential (2-stage)...

Description Usage Arguments Details Value Note Author(s) References See Also Examples


This function calculates the ‘empiric’ power of group sequential 2-stage BE in 2×2 crossover designs via simulations.
The number of subjects in both stages has to be prespecified (non-adaptive).


power.tsd.GS(alpha = c(0.0294, 0.0294), n, CV, theta0, theta1, theta2,
                fCrit = c("CI", "PE"), fClower, fCupper, nsims,
                setseed = TRUE, details = FALSE)



Vector of the two nominal alpha values to be used in the 100(1–2α) confidence interval calculations in the two stages.
Use something like package ldbounds for choosing the nominal alphas.


Vector of the two sample sizes in stage 1 and stage 2. n(total) is n[1]+n[2] if a second stage is necessary. Otherwise it is n[1].


Coefficient of variation of the intra-subject variability (use e.g., 0.3 for 30%).


Assumed ratio of geometric means (T/R) for simulations. If missing, defaults to GMR.


Lower bioequivalence limit. Defaults to 0.8.


Upper bioequivalence limit. Defaults to 1.25.


Futility criterion.
If set to "PE" the study stops after stage 1 if not BE and if the point estimate (PE) of stage 1 evaluation is outside the range defined in the next two arguments "fClower" and "fCupper".
If set to "CI" the study stops after stage 1 if not BE and if the 90% confidence interval of stage 1 evaluation is outside the range defined in the next two arguments.
Defaults to "CI".


Lower limit of the futility criterion. Defaults to 0 if missing, i.e., no futility criterion.


Upper limit of the futility criterion. Defaults to 1/fClower if missing.


Number of studies to simulate.
If missing, nsims is set to 1E+05 = 100,000 or to 1E+06 = 1 Mio if estimating the empiric Type I Error ('alpha'), i.e., with theta0 at the border or outside the acceptance range theta1 ... theta2.


Simulations are dependent on the starting point of the (pseudo) random number generator. To avoid differences in power for different runs a set.seed(1234567) is issued if setseed=TRUE, the default.
Set this argument to FALSE to view the variation in power between different runs.


If set to TRUE the function prints the results of time measurements of the simulation steps. Defaults to FALSE.


The calculations follow in principle the simulations as described in Potvin et al. for adaptive designs, but with no interim power inspection and pre-specified (fixed) number of subjects in stage 2.
The underlying subject data are assumed to be evaluated after log-transformation. But instead of simulating subject data, the statistics pe1, mse1 and pe2, SS2 are simulated via their associated distributions (normal and χ2 distributions).


Returns an object of class "pwrtsd" with all the input arguments and results as components.
The class "pwrtsd" has a S3 print method.
The results are in the components:


Fraction of studies found BE.


Fraction of studies found BE in stage 1.


Percentage of studies continuing to stage 2.


The code is reasonable fast. 1E6 sims take ~ 1 sec on my machine. Even 1E7 sims are meanwhile possible without too much beer. :-)


D. Labes


Gould AL. Group sequential extensions of a standard bioequivalence testing procedure.
J Pharmacokin Biopharm. 1995; 23(1):57–86 doi: 10.1007/BF02353786

Patterson SD, Jones B. Bioequivalence and Statistics in Clinical Pharmacology.
Boca Raton: CRC Press; 2nd edition 2016. Chapter 5.6 Optional Designs.

Schütz H. Two-stage designs in bioequivalence trials.
Eur J Clin Pharmacol. 2015; 71(3):271–81. doi: 10.1007/s00228-015-1806-2

Kieser M, Rauch G. Two-stage designs for cross-over bioequivalence trials.
Stat Med. 2015; 34(16):2403–16. doi: 10.1002/sim.6487

Zheng Ch, Zhao L, Wang J. Modifications of sequential designs in bioequivalence trials.
Pharm Stat. 2015; 14(3):180–8. doi: 10.1002/pst.1672

See Also

power.tsd and power.tsd.p for adaptive sequential designs.


# using the Pocock alpha settings and no futility rule
# (defaults), a CV of 20% and 12 subjects in both stages,
# midway interim
power.tsd.GS(CV=0.2, n=c(12,12))

Power2Stage documentation built on April 3, 2018, 9:04 a.m.