TIE for NTIDs [Power / Sample Size]
❝ My thoughts are as follows: according to some product specific EMA guideline (sirolimus for example) we should shorten the limit only for AUC but not for Cmax. May it leed to TIE inflation or not?
❝
❝ Then by using Power.2TOST for CV=0.3 I get TIE very slightly upper than 0.05
❝ power.2TOST(CV=c(0.3,0.25), n=122, theta1=c(0.8, 0.9), theta2=c(1.25, 1.11), theta0=c(1, 1.11), rho=0)
❝ [1] 0.05000002
❝ In this case the diference from 0.05 is negligible, but may be one could find more rude example? Or am I using or interpretate power.2TOST
uncorrectly?
You are using it correctly but this function underwent a minor revision. In the development version 1.4.6.9000 you would get
[1] 0.05003
or better with
nsims=1e6
for the TIE:[1] 0.050059
IMHO, AUC and Cmax generally are highly correlated.
power.2TOST(CV=c(0.3, 0.25), n=122, theta1=c(0.8, 0.9),
theta2=c(1.25, 1/0.9), theta0=c(1, 1/0.9),
rho=0.9, nsims=nsims)
[1] 0.050092
❝ ❝ Try this (for the homoscedastic case swR=swT):
❝ And what to do if variances are different (non-negotiable word heteroscedasticity)?
Extending Detlew’s code for swT=2swR:
library(PowerTOST)
design <- "2x2x4"
theta <- log(1/0.9)/0.1
nsims <- 1e6
bt.sig <- binom.test(0.05*nsims, nsims, alternative="less")$conf.int[2]
sw.r <- 2 # ratio of swT/swR
min.n <- FALSE # TRUE to force FDA's minimum sample of 24
UL <- function(CVwR, theta) {
upper <- exp(theta* CV2se(CVwR))
if (upper > 1.25) upper <- 1.25
return(upper)
}
CVwR <- seq(0.03, 0.25, 0.01)
CVwT <- se2CV(CV2se(CVwR)*sw.r)
CVs <- data.frame(CVwT, CVwR, stringsAsFactors=FALSE)
res <- cbind(CVs, n=NA, forced=FALSE, GMR=NA, TIE=NA,
signif=" n. s.", stringsAsFactors=FALSE)
for (j in seq_along(CVwR)){
res[j, "GMR"] <- UL(CVs[j, "CVwR"], theta)
res[j, "n"] <- sampleN.NTIDFDA(CV=as.numeric(CVs[j, ]), print=FALSE,
details=FALSE)[["Sample size"]]
if (min.n & as.numeric(res[j, "n"]) < 24) {
res[j, "n"] <- 24
res[j, "forced"] <- TRUE
}
res[j, "TIE"] <- power.NTIDFDA(CV=as.numeric(CVs[j, ]),
theta0=as.numeric(res[j, "GMR"]),
n=as.numeric(res[j, "n"]),
design=design, nsims=nsims)
res[j, "CVwT"] <- sprintf("%.4f", as.numeric(res[j, "CVwT"]))
res[j, "CVwR"] <- sprintf("%.4f", as.numeric(res[j, "CVwR"]))
if (res[j, "TIE"] > bt.sig) res[j, "signif"] <- "p<0.05"
}
if (!min.n) res <- res[ , -which(names(res) == "forced")]
cat("swT/swR:", sw.r, "\n"); print(res, row.names=FALSE)
swT/swR: 2
CVwT CVwR n GMR TIE signif
0.0600 0.0300 430 1.032106 0.050580 p<0.05
0.0801 0.0400 156 1.043027 0.048675 n. s.
0.1002 0.0500 134 1.054058 0.048292 n. s.
0.1203 0.0600 130 1.065197 0.047557 n. s.
0.1405 0.0700 128 1.076443 0.047594 n. s.
0.1608 0.0800 128 1.087796 0.047594 n. s.
0.1811 0.0900 128 1.099256 0.047594 n. s.
0.2015 0.1000 128 1.110820 0.047594 n. s.
0.2220 0.1100 128 1.122489 0.047594 n. s.
0.2426 0.1200 128 1.134261 0.047594 n. s.
0.2633 0.1300 128 1.146135 0.047594 n. s.
0.2841 0.1400 128 1.158110 0.047594 n. s.
0.3051 0.1500 128 1.170186 0.047594 n. s.
0.3262 0.1600 128 1.182360 0.047594 n. s.
0.3474 0.1700 128 1.194633 0.047594 n. s.
0.3688 0.1800 128 1.207001 0.047572 n. s.
0.3904 0.1900 128 1.219466 0.047074 n. s.
0.4121 0.2000 128 1.232024 0.043871 n. s.
0.4341 0.2100 128 1.244675 0.035001 n. s.
0.4562 0.2200 128 1.250000 0.034496 n. s.
0.4785 0.2300 128 1.250000 0.038751 n. s.
0.5011 0.2400 128 1.250000 0.039936 n. s.
0.5239 0.2500 128 1.250000 0.040172 n. s.
For swT=swR:
swT/swR: 1
CVwT CVwR n GMR TIE signif
0.0300 0.0300 214 1.032106 0.051258 p<0.05
0.0400 0.0400 54 1.043027 0.051405 p<0.05
0.0500 0.0500 32 1.054058 0.051804 p<0.05
0.0600 0.0600 24 1.065197 0.051418 p<0.05
0.0700 0.0700 22 1.076443 0.051395 p<0.05
0.0800 0.0800 20 1.087796 0.051232 p<0.05
0.0900 0.0900 18 1.099256 0.051158 p<0.05
0.1000 0.1000 18 1.110820 0.051158 p<0.05
0.1100 0.1100 16 1.122489 0.050734 p<0.05
0.1200 0.1200 16 1.134261 0.050734 p<0.05
0.1300 0.1300 16 1.146135 0.050732 p<0.05
0.1400 0.1400 16 1.158110 0.050705 p<0.05
0.1500 0.1500 16 1.170186 0.050552 p<0.05
0.1600 0.1600 16 1.182360 0.049877 n. s.
0.1700 0.1700 16 1.194633 0.048183 n. s.
0.1800 0.1800 16 1.207001 0.044852 n. s.
0.1900 0.1900 16 1.219466 0.040159 n. s.
0.2000 0.2000 16 1.232024 0.034550 n. s.
0.2100 0.2100 16 1.244675 0.028581 n. s.
0.2200 0.2200 16 1.250000 0.028871 n. s.
0.2300 0.2300 16 1.250000 0.033203 n. s.
0.2400 0.2400 16 1.250000 0.036778 n. s.
0.2500 0.2500 16 1.250000 0.039643 n. s.
And for swT=½swR:
swT/swR: 0.5
CVwT CVwR n GMR TIE signif
0.0150 0.0300 160 1.032106 0.051551 p<0.05
0.0200 0.0400 40 1.043027 0.052274 p<0.05
0.0250 0.0500 24 1.054058 0.052155 p<0.05
0.0300 0.0600 18 1.065197 0.052223 p<0.05
0.0350 0.0700 16 1.076443 0.051795 p<0.05
0.0400 0.0800 14 1.087796 0.051311 p<0.05
0.0449 0.0900 14 1.099256 0.051311 p<0.05
0.0499 0.1000 12 1.110820 0.050936 p<0.05
0.0549 0.1100 12 1.122489 0.050936 p<0.05
0.0598 0.1200 12 1.134261 0.050935 p<0.05
0.0648 0.1300 12 1.146135 0.050930 p<0.05
0.0697 0.1400 12 1.158110 0.050855 p<0.05
0.0747 0.1500 12 1.170186 0.050450 p<0.05
0.0796 0.1600 12 1.182360 0.049208 n. s.
0.0845 0.1700 12 1.194633 0.046557 n. s.
0.0895 0.1800 10 1.207001 0.040180 n. s.
0.0944 0.1900 10 1.219466 0.035008 n. s.
0.0993 0.2000 10 1.232024 0.029501 n. s.
0.1042 0.2100 10 1.244675 0.024305 n. s.
0.1090 0.2200 10 1.250000 0.024381 n. s.
0.1139 0.2300 12 1.250000 0.029092 n. s.
0.1187 0.2400 12 1.250000 0.032756 n. s.
0.1236 0.2500 12 1.250000 0.035953 n. s.
Apart from the CVs there is a dependency of the TIE on the sample size (common to the FDA’s scaling methods). If we force the minimum sample size to 24 dosed subjects (required by the FDA for RSABE) we get with
min.n <- TRUE
:swT/swR: 1
CVwT CVwR n forced GMR TIE signif
0.0300 0.0300 214 FALSE 1.032106 0.051258 p<0.05
0.0400 0.0400 54 FALSE 1.043027 0.051405 p<0.05
0.0500 0.0500 32 FALSE 1.054058 0.051804 p<0.05
0.0600 0.0600 24 FALSE 1.065197 0.051418 p<0.05
0.0700 0.0700 24 TRUE 1.076443 0.051418 p<0.05
0.0800 0.0800 24 TRUE 1.087796 0.051418 p<0.05
0.0900 0.0900 24 TRUE 1.099256 0.051418 p<0.05
0.1000 0.1000 24 TRUE 1.110820 0.051418 p<0.05
0.1100 0.1100 24 TRUE 1.122489 0.051418 p<0.05
0.1200 0.1200 24 TRUE 1.134261 0.051418 p<0.05
0.1300 0.1300 24 TRUE 1.146135 0.051418 p<0.05
0.1400 0.1400 24 TRUE 1.158110 0.051415 p<0.05
0.1500 0.1500 24 TRUE 1.170186 0.051390 p<0.05
0.1600 0.1600 24 TRUE 1.182360 0.051193 p<0.05
0.1700 0.1700 24 TRUE 1.194633 0.050291 n. s.
0.1800 0.1800 24 TRUE 1.207001 0.047754 n. s.
0.1900 0.1900 24 TRUE 1.219466 0.043035 n. s.
0.2000 0.2000 24 TRUE 1.232024 0.036599 n. s.
0.2100 0.2100 24 TRUE 1.244675 0.029193 n. s.
0.2200 0.2200 24 TRUE 1.250000 0.029453 n. s.
0.2300 0.2300 24 TRUE 1.250000 0.034602 n. s.
0.2400 0.2400 24 TRUE 1.250000 0.038978 n. s.
0.2500 0.2500 24 TRUE 1.250000 0.042264 n. s.
swT/swR: 0.5
CVwT CVwR n forced GMR TIE signif
0.0150 0.0300 160 FALSE 1.032106 0.051551 p<0.05
0.0200 0.0400 40 FALSE 1.043027 0.052274 p<0.05
0.0250 0.0500 24 FALSE 1.054058 0.052155 p<0.05
0.0300 0.0600 24 TRUE 1.065197 0.052155 p<0.05
0.0350 0.0700 24 TRUE 1.076443 0.052155 p<0.05
0.0400 0.0800 24 TRUE 1.087796 0.052155 p<0.05
0.0449 0.0900 24 TRUE 1.099256 0.052155 p<0.05
0.0499 0.1000 24 TRUE 1.110820 0.052155 p<0.05
0.0549 0.1100 24 TRUE 1.122489 0.052155 p<0.05
0.0598 0.1200 24 TRUE 1.134261 0.052155 p<0.05
0.0648 0.1300 24 TRUE 1.146135 0.052155 p<0.05
0.0697 0.1400 24 TRUE 1.158110 0.052155 p<0.05
0.0747 0.1500 24 TRUE 1.170186 0.052144 p<0.05
0.0796 0.1600 24 TRUE 1.182360 0.052008 p<0.05
0.0845 0.1700 24 TRUE 1.194633 0.051177 p<0.05
0.0895 0.1800 24 TRUE 1.207001 0.048438 n. s.
0.0944 0.1900 24 TRUE 1.219466 0.042814 n. s.
0.0993 0.2000 24 TRUE 1.232024 0.034901 n. s.
0.1042 0.2100 24 TRUE 1.244675 0.025993 n. s.
0.1090 0.2200 24 TRUE 1.250000 0.026019 n. s.
0.1139 0.2300 24 TRUE 1.250000 0.031621 n. s.
0.1187 0.2400 24 TRUE 1.250000 0.036474 n. s.
0.1236 0.2500 24 TRUE 1.250000 0.040374 n. s.
Hence, the TIE gets larger for studies forced to n 24 as compared to the ones designed for the target power.
Edit: Corrected code there.
Dif-tor heh smusma 🖖🏼 Довге життя Україна!
Helmut Schütz
The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
Complete thread:
- Sample size for 4-period 4-sequence crossover BE study Bryony Simmons 2018-02-01 12:16 [Power / Sample Size]
- function sampleN.TOST of package PowerTOST Helmut 2018-02-01 13:01
- Alpha adjustment in higher order crossover d_labes 2018-02-01 14:01
- Deficiencies Helmut 2018-02-01 15:48
- Deficiencies nobody 2018-02-01 17:10
- Deficiencies d_labes 2018-02-01 18:57
- Deficiencies Relaxation 2018-02-02 11:12
- Deficiencies nobody 2018-02-02 12:49
- Deficiencies Helmut 2018-02-02 16:14
- Deficiencies Relaxation 2018-02-02 19:41
- alpha... where is omega? Astea 2018-02-02 21:45
- α and no ω Helmut 2018-02-02 23:39
- TIE for NTIDs d_labes 2018-02-04 12:40
- TIE for NTIDs Astea 2018-02-04 20:04
- TIE for NTIDsHelmut 2018-02-05 01:01
- TIE for NTIDs d_labes 2018-02-05 16:40
- TIE for NTIDs Helmut 2018-02-05 17:49
- TIE for NTIDs d_labes 2018-02-05 22:17
- TIE for NTIDs Helmut 2018-02-06 12:34
- TIE for NTIDs d_labes 2018-02-05 22:17
- TIE for NTIDs Helmut 2018-02-05 17:49
- TIE for NTIDs d_labes 2018-02-05 16:40
- TIE for NTIDs d_labes 2018-02-05 16:35
- bow TIE for NTIDs Astea 2018-02-05 17:52
- bow TIE for NTIDs Helmut 2018-02-05 18:10
- 111.11 for NTIDs Astea 2018-02-05 19:27
- 111.11 for NTIDs Helmut 2018-02-06 00:12
- 111.11 for NTIDs Astea 2018-02-05 19:27
- bow TIE for NTIDs d_labes 2018-02-05 22:33
- bow TIE for NTIDs Helmut 2018-02-05 18:10
- bow TIE for NTIDs Astea 2018-02-05 17:52
- TIE for NTIDsHelmut 2018-02-05 01:01
- TIE for NTIDs Astea 2018-02-04 20:04
- TIE for NTIDs d_labes 2018-02-04 12:40
- α and no ω Helmut 2018-02-02 23:39
- alpha... where is omega? Astea 2018-02-02 21:45
- Deficiencies Relaxation 2018-02-02 19:41
- Deficiencies Relaxation 2018-02-02 11:12
- Deficiencies Helmut 2018-02-01 15:48
- Alpha adjustment in higher order crossover d_labes 2018-02-01 14:01
- function sampleN.TOST of package PowerTOST Helmut 2018-02-01 13:01