power.TOST {PowerTOST} | R Documentation |
Power of the classical TOST procedure
Description
Calculates the exact or approximate power of the two-one-sided t-tests (TOST) procedure for various study designs used in BE studies.
Usage
power.TOST(alpha = 0.05, logscale = TRUE, theta1, theta2, theta0, CV, n,
design = "2x2", method="exact", robust=FALSE)
Arguments
alpha |
Significance level (one-sided). Commonly set to 0.05. |
logscale |
Should the data used on log-transformed or on original scale? |
theta0 |
‘True’ or assumed T/R ratio or difference. |
theta1 |
Lower (bio-)equivalence limit. |
theta2 |
Upper (bio-)equivalence limit. |
CV |
In case of In case of cross-over studies this is the within-subject CV, in case of a parallel-group design the CV of the total variability. |
n |
Number of subjects under study. |
design |
Character string describing the study design. |
method |
Method for calculation of the power. |
robust |
Defaults to |
Details
The exact calculations of power are based on Owen’s Q-function or by direct
integration of the bivariate non-central t-distribution via function
pmvt
of package mvtnorm
.
Approximate power is implemented via the non-central t-distribution
or the ‘shifted’ central t-distribution.
The formulas cover balanced and unbalanced studies w.r.t (sequence) groups.
In case of parallel group design and higher order crossover designs
(replicate crossover or crossover with more than two treatments) the calculations
are based on the assumption of equal variances for Test and Reference products
under consideration.
The formulas for the paired means 'design' do not take a correlation parameter
into account. They are solely based on the paired t-test (TOST of differences = zero).
Value
Value of power according to the input arguments.
Note
Of course it is highly recommended to use the default method="exact"
:-).
There is no reason beside testing and for comparative purposes to use an
approximation if the exact method is available.
If n
is given as scalar (total sample size) and this number is not
divisible by the number of (sequence) groups of the design an unbalanced design
with small imbalance is assumed. A corresponding message is thrown showing the
assumed numbers of subjects in (sequence) groups.
The function does not vectorize properly if design is a vector.
The function vectorizes properly if CV or theta0 are vectors.
Other vector input is not tested yet.
The former function power2.TOST()
designd to handle unbalanced studies is
defunct since power.TOST()
handles balanced as well as unbalanced designs.
Author(s)
D. Labes, direct integration of bivariate non-central t-distribution by B. Lang
References
Phillips KF. Power of the Two One-Sided Tests Procedure in Bioequivalence. J Pharmacokin Biopharm. 1990;18(2):137–44. doi:10.1007/BF01063556
Diletti D, Hauschke D, Steinijans VW. Sample Size Determination for Bioequivalence Assessment by Means of Confidence Intervals. Int J Clin Pharmacol Ther Toxicol. 1991;29(1):1–8.
See Also
Examples
# power for the 2x2 cross-over design with 24 subjects and CV 25%
# using all the other default values
power.TOST(CV = 0.25, n = 24)
# should give: [1] 0.7391155
# nct approximation very good for this configuration
power.TOST(CV = 0.25, n = 24, method = "nct")
# gives also: [1] 0.7391155
# shifted-central-t approximation
power.TOST(CV = 0.25, n = 24, method = "shifted")
# gives: [1] 0.7328894
# power for the 2x2 cross-over study with 24 subjects, CV 25%
# and 2 drop-outs in the same sequence group (unbalanced study)
power.TOST(CV=0.25, n=c(10,12))
# should give: [1] 0.6912935
# not the same compared to the balanced setting
power.TOST(CV=0.25, n=22)
# should give: [1] 0.6953401