The package contains functions to calculate power and estimate sample size for various study designs used in (not only bio-) equivalence studies. Power and sample size can be obtained based on different methods, amongst them prominently the TOST procedure (Two One-Sided t-Tests).
Version 1.5.4 built 2022-02-21 with R 4.1.2.
For an overview of supported designs, methods, and defaults together with some basic examples see
2x2x2 or 2x2 for short.
3x3 and 3x6x3. Both have the same degrees of freedom (2n–4) in the conventional approach and therefore, require the same number of subjects.
sampleN.RatioF() and for non-inferiority/-superiority in function sampleN.noninf(), where it is 0.025). In the functions alpha.
beta0.
CV.
CV.
CV). If heteroscedasticity is assumed, CV has to given as a vector with two elements CV = c(x, y), where CV[1] is CVwT and CV[2] is CVwR.
CVb is required in function sampleN.RatioF() and in function sampleN.dp() if design = "IBD" (incomplete block design).
ABEL: Based on the switching coefficient of variation \(\small{CV_0=30\%}\). \(\small{k=\log_{e}1.25/\sqrt{\log_{e}(CV_{0}^{2}+1)}\approx 0.760}\).
\(\small{\left\{ {L,\,U} \right\}=\left[1+\log_{e}0.80/\log_{e}rd,\:1+\log_{e}1.25/\log_{e}rd \right]}\)
logscale = TRUE where \(\theta_0=\mu_\textrm{T}/\mu_\textrm{R}\)).Non-inferiority: If margin < 1, higher responses are are assumed to be better. \[\small{H_0:\,\theta_0 \leq \log_{e}\textrm{margin}\:vs\:H_1:\,\theta_0>\log_{e}\textrm{margin}}\]
targetpower.
rd.
robustlogscale = TRUE) or difference T – R (logscale = FALSE). In the functions theta0.
theta1 and theta2.
theta0 = theta2 or theta0 = theta1.power.scABEL(), power.RSABE(), power.NTIDFDA(), power.HVNTID()).
In all functions sample sizes are estimated based on equivalence margins [\(\small{\theta_1,\theta_2}\)] in full numeric precision. The widened margins for highly variable Cmax are \(\small{\theta_1=0.75,}\) \(\small{\theta_2=1/\theta_1=1.\dot{3}}\) and not the rounded 75.00 – 133.33% according to the guidelines of the Russian Federation, the EEU, and the GCC. If for a NTID theta1 = 0.90 is specified, \(\small{\theta_2=1/\theta_1=1.\dot{1}}\) and not the rounded 111.11% as in the guidelines. Health Canada requires rounding to only one decimal place with bioequivalence margins for NTIDs of 90.0 – 112.0%.
Estimated sample sizes are generally not affected or – in extremely rare cases – conservative.
Example for a HVDP (\(\small{\theta_0}\) 0.90, design 2x2x4) and a NTID (\(\small{\theta_0}\) 0.975, design 2x2x2):
# CV agency method L U n theta1 theta2 n
# 0.574 EMA ABEL 69.84% 143.19% 30 0.698368 1.431910 30
# 0.574 HC ABEL 66.7 % 150.0 % 28 0.666667 1.500000 28
# 0.574 RU/EEU/GGC ABE 75.00% 133.33% 34 0.750000 1.333333 34
# 0.100 EMA ABE 90.00% 111.11% 22 0.900000 1.111111 22
# 0.100 HC ABE 90.0 % 112.0 % 22 0.900000 1.111111 22
You can install the released version of PowerTOST from CRAN with …
package <- "PowerTOST"
inst <- package %in% installed.packages()
if (length(package[!inst]) > 0) install.packages(package[!inst])… and the development version from GitHub with
# install.packages("remotes")
remotes::install_github("Detlew/PowerTOST")
Skips installation from a github remote if the SHA-1 has not changed since last install. Use force = TRUE to force installation.