Hi Maggie,
❝ I am exploring the hypothesis to use the within subject variability obtained on conventional 2 way crossover bioequivalence study and apply it in scale average bioequivalence as described for a replicated design used for HVD or NTI.
Since you mentioned RSABE for NTID, I guess you are interested in the FDA’s methods.
❝ I know that within subject variability of reference would be necessary […]. My doubt is if these values have any relation somehow like, for instance, the first one is larger than the second one or there is no relationship at all?
Sorry, there is no relationship since one formulation doesn’t “care” about the other one behaves.
Try this one (which pools the within-subject CV from CV
wT and CV
wR):
library(PowerTOST)
CVwR <- CVwT <- seq(0.3, 0.5, 0.05)
res <- data.frame(CVwT=rep(CVwT, each=length(CVwR)),
CVwR=rep(CVwR, length(CVwT)), CVw=NA)
res$CVw <- mse2CV((CV2mse(res$CVwT)+CV2mse(res$CVwR))/2)
print(signif(res, 4), row.names=FALSE)
CVwT CVwR CVw
0.30 0.30 0.3000
0.30 0.35 0.3258
0.30 0.40 0.3528
0.30 0.45 0.3806
0.30 0.50 0.4090
0.35 0.30 0.3258
0.35 0.35 0.3500
0.35 0.40 0.3756
0.35 0.45 0.4023
0.35 0.50 0.4296
0.40 0.30 0.3528
0.40 0.35 0.3756
0.40 0.40 0.4000
0.40 0.45 0.4255
0.40 0.50 0.4518
0.45 0.30 0.3806
0.45 0.35 0.4023
0.45 0.40 0.4255
0.45 0.45 0.4500
0.45 0.50 0.4754
0.50 0.30 0.4090
0.50 0.35 0.4296
0.50 0.40 0.4518
0.50 0.45 0.4754
0.50 0.50 0.5000
Say you found a CV
w of ~0.4 in a non-replicated crossover. That could mean CV
wT=CV
wR=0.4 but also extreme cases where one CV is 0.3 and the other one 0.5. Let’s explore it:
T.equal.R <- which(res$CVwT == 0.4 & res$CVwR == 0.4)
T.smaller <- which(res$CVwT == 0.3 & res$CVwR == 0.5)
R.smaller <- which(res$CVwT == 0.5 & res$CVwR == 0.3)
sampleN.RSABE(CV=c(res[T.equal.R, "CVwT"], res[T.equal.R, "CVwR"]),
design="2x2x4", details=FALSE)
++++++++ Reference scaled ABE crit. +++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4 (full replicate)
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.4; CVw(R) = 0.4
True ratio = 0.9
ABE limits / PE constraints = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
24 0.80516
sampleN.RSABE(CV=c(res[T.smaller, "CVwT"], res[T.smaller, "CVwR"]),
design="2x2x4", details=FALSE)
++++++++ Reference scaled ABE crit. +++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4 (full replicate)
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.3; CVw(R) = 0.5
True ratio = 0.9
ABE limits / PE constraints = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
18 0.82354
sampleN.RSABE(CV=c(res[R.smaller, "CVwT"], res[R.smaller, "CVwR"]),
design="2x2x4", details=FALSE)
++++++++ Reference scaled ABE crit. +++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4 (full replicate)
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.5; CVw(R) = 0.3
True ratio = 0.9
ABE limits / PE constraints = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
54 0.80552
If you interested in the EMA’s ABEL, use
sampleN.scABEL(...)
and for Health Canada’s ABEL of AUC
sampleN.scABEL(..., regulator="HC")
.
The FDA’s RSABE for NTIDs is more nasty because a comparison of
σwT with
σwR is part of the method. Code:
library(PowerTOST)
CVwR <- CVwT <- seq(0.075, 0.15, 0.025)
res <- data.frame(CVwT=rep(CVwT, each=length(CVwR)),
CVwR=rep(CVwR, length(CVwT)), CVw=NA)
res$CVw <- mse2CV((CV2mse(res$CVwT)+CV2mse(res$CVwR))/2)
print(signif(res, 4), row.names=FALSE)
T.equal.R <- which(res$CVwT == 0.100 & res$CVwR == 0.100)
T.smaller <- which(res$CVwT == 0.075 & res$CVwR == 0.125)
R.smaller <- which(res$CVwT == 0.125 & res$CVwR == 0.075)
sampleN.NTIDFDA(CV=c(res[T.equal.R, "CVwT"], res[T.equal.R, "CVwR"]),
design="2x2x4", details=FALSE)
sampleN.NTIDFDA(CV=c(res[T.smaller, "CVwT"], res[T.smaller, "CVwR"]),
design="2x2x4", details=FALSE)
sampleN.NTIDFDA(CV=c(res[R.smaller, "CVwT"], res[R.smaller, "CVwR"]),
design="2x2x4", details=FALSE)
Gives
+++++++++++ FDA method for NTID's +++++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.1, CVw(R) = 0.1
True ratio = 0.975
ABE limits = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
18 0.841790
+++++++++++ FDA method for NTID's +++++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.075, CVw(R) = 0.125
True ratio = 0.975
ABE limits = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
12 0.827150
sampleN.NTIDFDA(CV=c(res[R.smaller, "CVwT"], res[R.smaller, "CVwR"]),
design="2x2x4", details=FALSE)
+++++++++++ FDA method for NTID's +++++++++++
Sample size estimation
---------------------------------------------
Study design: 2x2x4
log-transformed data (multiplicative model)
1e+05 studies for each step simulated.
alpha = 0.05, target power = 0.8
CVw(T) = 0.125, CVw(R) = 0.075
True ratio = 0.975
ABE limits = 0.8 ... 1.25
Regulatory settings: FDA
Sample size
n power
46 0.802330
Note that the FDA requires at least 24
dosed subjects in replicate designs for RSABE (though less
eligibile due to dropouts are acceptable) and that for NTIDs a full replicate design is required.