pa.scABE: Power analysis for scaled average bioequivalence (scABE)

View source: R/pa.scABE.R

pa.scABER Documentation

Power analysis for scaled average bioequivalence (scABE)


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 scABE (for highly variable drugs) if these values deviate from the ones assumed in planning the sample size of the study.


pa.scABE(CV, theta0 = 0.9, targetpower = 0.8, minpower = 0.7,
         design = c("2x3x3", "2x2x4", "2x2x3"),
         regulator = c("EMA", "HC", "FDA", "GCC"), ...)



Coefficient of variation of the intra-subject variability as ratio (not percent).
Here only the case CVwT=CVwR is implemented, i.e., CV has to be a scalar.


‘True’ or assumed T/R ratio. Often named GMR.
Must be given as ratio. Defaults to 0.9 here since HVD have a greater scatter in point estimates of T/R.


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 lower than targetpower. Defaults to 0.7.
minpower < 0.5 doesn’t make much sense.


Character string describing the study design.
Defaults to 2x3x3, the partial replicate design (TRR|RTR|RRT).


Character string describing the scaled ABE method recommended by the regulatory bodies "EMA", "HC", "FDA" or "GCC".
Defaults to "EMA", method of scaled (expanded) bioequivalence limits.


More arguments to pass to power.scABEL() or power.RSABE().
F.i., alpha, theta1, theta2 or nsims if other values than the defaults for these arguments are needed.
See man pages of power.scABEL() or power.RSABE().


Power calculations are done via power.scABEL() or power.RSABE() and calculations of CV and theta0 which result in minpower derived via R base uniroot.
While one of the parameters (CV, GMR, 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. However, the sample size will be increased from the estimated one if one of the following conditions is applicable:

  • The FDA requires at least 24 subjects enrolled in studies intended for reference-scaling.

  • The EMA requires at least 12 eligible subjects in the sequence RTR of the TRT|RTR-design (hence the minimum sample size is 24).

You should be aware 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.scABEL() or sampleN.RSABE().


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 fix = "scABE".


"EMA", "HC", or "FDA".


Minimum acceptable power from the call of the function.

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


The code for impact 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.scABEL, power.RSABE, known.designs, print.pwrA, plot.pwrA, pa.ABE, pa.NTIDFDA


# Implicitely using the defaults:
# design = "2x3x3", targetpower = 0.8, minpower = 0.7,
# theta0 = 0.9, GMR = 0.90, regulator = "EMA"
# widened BE margins from defaults of sampleN.scABEL() 0.7462 ... 1.3402
# 1E5 sims in power.scABEL()
# not run due to timing policy of CRAN, may run some ten seconds

# Implicit print & plot
pa.scABE(CV = 0.4)

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