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.6 built 2024-03-18 with R 4.3.3.
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
CV_{wT} and CV[2]
is
CV_{wR}.
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
.
robust
logscale = 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
C_{max} 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.