power.tsd.KM {Power2Stage} | R Documentation |
Power calculation of adaptive 2-stage BE studies (2x2 crossover) (variant of power.2stage to obtain the results of Karalis / Macheras)
Description
This function calculates the ‘empiric’ power of 2-stage BE studies according to Potvin et al. via simulations. The Potvin methods are modified as described by Karalis & Macheras to include a futility criterion Nmax and to perform the power calculation steps and the sample size estimation step in the decision schemes with the MSE (calculated from CV) and the point estimate (PE) of T/R from stage 1.
Usage
power.tsd.KM(method = c("C", "B"), alpha0 = 0.05, alpha = c(0.0294, 0.0294),
n1, CV, targetpower = 0.8, pmethod = c("nct", "exact"),
Nmax = 150, theta0, theta1, theta2, npct = c(0.05, 0.5, 0.95),
nsims, setseed = TRUE, details = FALSE)
Arguments
method |
Decision schemes according to Potvin et al. |
alpha0 |
Alpha value for the first step(s) in Potvin C aka TSD of Karalis &
Macheras or TSD-1 of Karalis, the power inspection and BE decision
if power > targetpower. |
alpha |
Vector (two elements) of the nominal alphas for the two stages. |
n1 |
Sample size of stage 1. |
CV |
Coefficient of variation of the intra-subject variability (use e.g., 0.3 for 30%). |
targetpower |
Power threshold in the first step of Potvin |
pmethod |
Power calculation method, also to be used in the sample size estimation for
stage 2. |
Nmax |
Futility criterion. If set to a finite value all studies simulated in which
a sample size >Nmax is obtained will be regarded as BE=FAIL. Defaults to 150,
as recommended by Karalis & Macheras. |
theta0 |
Assumed ratio of geometric means (T/R) for simulations. If missing,
defaults to |
theta1 |
Lower bioequivalence limit. Defaults to 0.8. |
theta2 |
Upper bioequivalence limit. Defaults to 1.25. |
npct |
Percentiles to be used for the presentation of the distribution of
|
nsims |
Number of studies to simulate. |
setseed |
Simulations are dependent on the starting point of the (pseudo) random number
generator. To avoid differences in power for different runs a
|
details |
If set to |
Details
The calculations follow in principle the simulations as described in Potvin
et al.
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).
In contrast to Potvin et al. the power calculation steps as well as the
sample size adaption step of the decision schemes are done using the MSE
(calculated from CV) and the point estimate from
stage 1.
This resembles the methods described in Karalis & Macheras and Karalis.
Value
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:
pBE |
Fraction of studies found BE. |
pBE_s1 |
Fraction of studies found BE in stage 1. |
pct_s2 |
Percentage of studies continuing to stage 2. |
nmean |
Mean of n(total). |
nrange |
Range (min, max) of n(total). |
nperc |
Percentiles of the distribution of n(total). |
ntable |
Object of class |
Author(s)
D. Labes
References
Potvin D, DiLiberti CE, Hauck WW, Parr AF, Schuirmann DJ, Smith RA. Sequential design approaches for bioequivalence studies with crossover designs.
Pharm Stat. 2008; 7(4):245–62. doi: 10.1002/pst.294
Karalis V, Macheras P. An Insight into the Properties of a Two-Stage Design in Bioequivalence Studies.
Pharm Res. 2013; 30(7):1824–35. doi: 10.1007/s11095-013-1026-3
Karalis V. The role of the upper sample size limit in two-stage bioequivalence designs.
Int J Pharm. 2013; 456(1):87–94. doi: 10.1016/j.ijpharm.2013.08.013
Fuglsang A. Futility Rules in Bioequivalence Trials with Sequential Designs.
AAPS J. 2014; 16(1):79–82. doi: 10.1208/s12248-013-9540-0
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
Examples
# using all the defaults
# but too low number of sims to complain with the CRAN policy:
# "check time only a few seconds per example"
# minimum number of sims should be 1E5 for power, 1E6 sims for 'alpha'
power.tsd.KM(n1=16, CV=0.2, nsims=1E4)
# ~3 sec if nsims=1E5