pa.ABE: Power analysis for average bioequivalence (ABE)

View source: R/pa.ABE.R

pa.ABER Documentation

Power analysis for average bioequivalence (ABE)


An analysis tool for exploration/visualization of the impact of expected values (CV, theta0, reduced sample size due to drop-outs) on power of BE decision via ABE if these values deviate from the ones assumed in planning the sample size of the study.


pa.ABE(CV, theta0 = 0.95, targetpower = 0.8, minpower = 0.7, design = "2x2", ...)
## S3 method for class 'pwrA'
print(x, digits = 4, plotit = TRUE, ...)
## S3 method for class 'pwrA'
plot(x, pct = TRUE, ratiolabel = "theta0", cols = c("blue", "red"), ...)



Coefficient of variation as ratio (not percent).
In case of cross-over studies this is the within-subject CV.


‘True’ or assumed T/R ratio. Often named GMR.
Must be given as ratio.


Power to achieve at least in sample size estimation. Must be >0 and <1.
Typical values are 0.8 or 0.9. Defaults to 0.8.
Note that targetpower < 0.5 doesn’t make much sense.


Minimum acceptable power to have if deviating from assumptions for sample size plan.
Has to be lower than targetpower. Defaults to 0.7.
minpower < 0.5 doesn’t make much sense.


Character string describing the study design.
See known.designs() for designs covered in this package.


More arguments to pass to power.TOST().
F.i. alpha, theta1, theta2 or robust if other values then the defaults for these arguments are needed.
See man page of power.TOST().

More arguments passed to the S3 methods. Here currently ignored.

Additional arguments of the S3 methods:


Object of class 'pwrA'.


Digits for rounding power in printing. The '...' argument is currently ignored in print().


If set to TRUE, the default, the print method calls plot(x) if R is running interactively.


If set to TRUE (the default) scales CV, theta0, and power in percent in plot(). Else they will be given as ratios, the usual standard in PowerTOST.


Label of the T/R-ratio. Can be set to any string, e.g. to "GMR". Defaults to "theta0", the usual standard in PowerTOST.


Colors for the plots. cols[1] gives the color for plotting points with power>targetpower. From targetpower toward minpower the color changes gradually to cols[2].


Power calculations are done via power.TOST() and calculations of CV and theta0 which gave a power=minpower are derived via R base uniroot. While one of the parameters (CV, theta0, n) is varied, the respective two others are kept constant. The tool shows the relative impact of single parameters on power.
The tool takes a minimum of 12 subjects as required in most BE guidances into account.

It should be kept in mind that this is not a substitute for the ‘Sensitivity Analysis’ recommended in ICH-E9. In a real study a combination of all effects occurs simultaneously. It is up to you to decide on reasonable combinations and analyze their respective power.


Returns a list with class "pwrA" with the components


A data.frame with the result of the sample size estimation. See output of sampleN.TOST().


A data.frame with value pairs CV, pwr for impact of deviations from CV.


A data.frame with value pairs theta0, pwr for impact of deviations from theta0 (GMR).


A data.frame with value pairs N, pwr for impact of deviations from planned N (dropouts).


Method of BE decision. Here "ABE".


Minimum acceptable power.

The class 'pwrA' has the S3 methods print() and plot(). See pa.scABE for usage.


The code of deviations from planned sample size tries to keep the degree of imbalance as low as possible between (sequence) groups. This results in a lesser decrease of power than more extreme dropout-patterns.


Idea and original code by H. Schütz with modifications by D. Labes to use PowerTOST infrastructure.


Schütz H. Deviating from assumptions. August 08, 2014. BEBA Forum

See Also

power.TOST, known.designs, pa.scABE, pa.NTIDFDA


# using the defaults
# design="2x2", targetpower=0.8, minpower=0.7, theta0/GMR=0.95
# BE margins from defaults of sampleN.TOST() 0.8 ... 1.25
# print & plot implicitly
pa.ABE(CV = 0.2)
# print & plot

res <- pa.ABE(CV = 0.2)
print(res, plotit = FALSE)                 # print only
plot(res, pct = FALSE, ratiolabel = "GMR") # changed from defaults

PowerTOST documentation built on March 18, 2022, 5:47 p.m.