A function to plot the power of the two onesided tests prodedure (TOST) for various alternatives. (See also package equivalence
, function tost
.)
1  power.equivalence.md.plot(alpha, logscale, theta1, theta2, sigma, n, nu, title2)

alpha 
alpha level for the 2 ttests (usually alpha=0.05).
Confidence interval for full test is at level 1 2* 
logscale 
whether to use logarithmic scale 
theta1 
lower limit of equivalence interval 
theta2 
upper limit of equivalence interval 
sigma 

n 
number of subjects per treatment (number of total subjects for crossover design) 
nu 
degrees of freedom for 
title2 
Title appearing at bottom of plot 
power 
Plot of power of TOST (probability that (12* 
Kem Phillips; kemphillips@comcast.net
Diletti, E., Hauschke D. & Steinijans, V.W. (1991) Sample size determination of bioequivalence assessment by means of confidence intervals, International Journal of Clinical Pharmacology, Therapy and Toxicology, 29, No. 1, 18.
Phillips, K.F. (1990) Power of the Two OneSided Tests Procedure in Bioquivalence, Journal of Pharmacokinetics and Biopharmaceutics, 18, No. 2, 139144.
Schuirmann, D.J. (1987) A comparison of the two onesided tests procedure and the power approach for assessing the equivalence of average bioavailability, Journal of Pharmacokinetics and Biopharmaceutics, 15. 657680.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  # Suppose that two formulations of a drug are to be compared
# on the regular scale using a twoperiod crossover design,
# with theta1 = 0.20, theta2 = 0.20, rm(CV) = 0.20, and
# we choose
n<c(9,12,18,24,30,40,60)
# corresponding to
nu<c(7,10,16,22,28,38,58)
# degrees of freedom. We need to test bioequivalence at the
# .05 significance level, which corresponds to having a .90 confidence
# interval lying within (0.20, 0.20). This corresponds to
# Phillips (1990), Figure 3. Use
power.equivalence.md.plot(.05, FALSE, .2, .2, .20, n, nu, 'Phillips Figure 3')
# If the formulations are compared on the logarithmic scale with
# theta1 = 0.80, theta2 = 1.25, and
n<c(8,12,18,24,30,40,60)
# corresponding to
nu<c(6,10,16,22,28,38,58)
# degrees of freedom. This corresponds to Diletti, Figure 1c. Use
power.equivalence.md.plot(.05, TRUE, .8, 1.25, .20, n, nu, 'Diletti, Figure 1c')

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.