power.TOST (CV & n; everything else optional—with defaults) [🇷 for BE/BA]
Hi Ken!
Oh, is your authority still requiring this?
No. 1
Since you didn’t type in the lower (
You can play the game the other way ’round: How many subjects would we need for 61.85% power if CV is 29%?
26 – not 25 – because in study planning you get always even numbers in a 2×2 design. Note that I did not use
No. That would mean asking for the chance to be bioequivalent (with CV 29%, ratio 95%) within limits of 83–109%. This range is much narrower than 80–125% – therefore, you get a much lower power. I guess your values are the confidence limits obtained in the study, right?
BTW, BE-limits are based on the maximum acceptable difference, say 20%. In log-scale they are symmetrical around zero [ln(1–0.20), ln(1/(1+0.20)] = [-0.2231, +0.2231]. After back-transformation they are asymetrical around 100% [ℯ-0.2231, ℯ+0.2231] = 80–125%. Hey, that’s upper = 1/lower.
Therefore, in Power.TOST you could only give
For details:
@Detlew: Maybe PowerTOST should throw a warning if the input’s
❝ We would like to estimate the power of a BE study that has been completed.
Oh, is your authority still requiring this?

❝ Which is the right way to key in data ? The first one or the second one ?
No. 1
Since you didn’t type in the lower (
theta1
) and upper (theta2
) acceptance limits for bioequivalence, the defaults of 0.80 and 1/0.80=1.25 are used. But if you want you can state them. Try:power.TOST(CV=0.29, n=25, theta0=0.95, theta1=0.80, theta2=1.25)
[1] 0.618512
You can play the game the other way ’round: How many subjects would we need for 61.85% power if CV is 29%?
sampleN.TOST(CV=0.29, targetpower=0.6185)
+++++++++++ Equivalence test - TOST +++++++++++
Sample size estimation
-----------------------------------------------
Study design: 2x2 crossover
log-transformed data (multiplicative model)
alpha = 0.05, target power = 0.6185
BE margins = 0.8 ... 1.25
Null (true) ratio = 0.95, CV = 0.29
Sample size (total)
n power
26 0.640848
26 – not 25 – because in study planning you get always even numbers in a 2×2 design. Note that I did not use
theta0
, theta1
, and theta2
because 0.95, 0.80, and 1.25 are the defaults.❝ Do we have to key in the value of lower and upper BE limit obtained from the study ? Why after putting in the lower and upper BE limit, the power is only about 8% versus 62%.
No. That would mean asking for the chance to be bioequivalent (with CV 29%, ratio 95%) within limits of 83–109%. This range is much narrower than 80–125% – therefore, you get a much lower power. I guess your values are the confidence limits obtained in the study, right?
BTW, BE-limits are based on the maximum acceptable difference, say 20%. In log-scale they are symmetrical around zero [ln(1–0.20), ln(1/(1+0.20)] = [-0.2231, +0.2231]. After back-transformation they are asymetrical around 100% [ℯ-0.2231, ℯ+0.2231] = 80–125%. Hey, that’s upper = 1/lower.

theta1
or theta2
; the reciprocal would be calculated automatically. Try:power.TOST(CV=0.29, n=25, theta0=0.95, theta1=0.80)
power.TOST(CV=0.29, n=25, theta0=0.95, theta2=1.25)
For details:
require(PowerTOST)
help(power.TOST)
@Detlew: Maybe PowerTOST should throw a warning if the input’s
theta2
≠ 1/theta1
(to the precision of the input)? Or is this over the top?—
Dif-tor heh smusma 🖖🏼 Довге життя Україна!![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Dif-tor heh smusma 🖖🏼 Довге життя Україна!
![[image]](https://static.bebac.at/pics/Blue_and_yellow_ribbon_UA.png)
Helmut Schütz
![[image]](https://static.bebac.at/img/CC by.png)
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- calculation of power with power.TOST Ken Peh 2013-07-29 19:03
- power.TOST (CV & n; everything else optional—with defaults)Helmut 2013-07-29 21:30
- power.TOST (CV & n; everything else optional—with defaults) ElMaestro 2013-07-29 21:54
- power.TOST acceptance range unbalanced d_labes 2013-07-30 11:57
- power.TOST acceptance range unbalanced Ken Peh 2013-07-30 18:53
- power.TOST acceptance range unbalanced d_labes 2013-07-30 11:57
- power.TOST (CV & n; everything else optional—with defaults) Ken Peh 2013-07-30 19:03
- power.TOST (CV & n; everything else optional—with defaults) ElMaestro 2013-07-29 21:54
- power.TOST (CV & n; everything else optional—with defaults)Helmut 2013-07-29 21:30