Forget rss() [Two-Stage / GS Designs]
❝ […] I agree that PE outside is not possible but it has been observed in pilot studies of mesalamine where many BLQs are observed in a subject which skewed the T/R to the extreme.
❝ 95% is a very bold to assume in HVD. but should actual T/R ratio for re-estimation of sample size? somehow it should be according to potvin method B?
nmax = 100
). That means any re-estimated total sample size >nmax
will be considered a failure in stage 1 and reported as nmax
. For 2×2×2 and parallel designs that’s implemented in the functions of the package Power2Stage
(argument Nmax
).As in the Potvin methods a fixed GMR (not the observed one in stage 1) is used. The authors discussed that in the paper and argued against it (i.e., not going fully adaptive). Implemented in the functions of
Power2Stage
(argument usePE = TRUE
), though its use requires a careful selection of futility criteria in order not to compromise power.❝ This wonders me with T/R ratio of 85% as well.
❝ power.RSABE(alpha = 0.0294, theta0 = 0.85, CV = 0.6978, n = 24, design = "2x2x4")
❝ [1] 0.6369
❝ rss(n = 24, r = 2, S_WR = 0.630, params = list(sig_level=0.0294))
❝ $rss
❝ [1] 21
❝ rss(n = 24, r = 2, S_WR = 0.630, params = list(sig_level=0.0294, GMR=0.85))
❝ $rss
❝ [1] 100
❝ !!
GMR = 0.95
is used (the function’s default). Of course a total sample size less the one in stage 1 is nonsense (read my previous post again).In the second case
nmax
is reported. By chance? Increase nmax
and – surprise, surprise:suppressMessages(library(adaptIVPT))
N <- integer(100)
for (j in seq_along(N)) {
N[j] <- unlist(rss(n = 24, r = 2, S_WR = 0.630,
params = list(sig_level = 0.0294, GMR = 0.85,
nmax = 500)))[["rss"]]
}
vals <- data.frame(N = sort(unique(N)), times = NA_character_)
for (j in 1:nrow(vals)) {
vals$times[j] <- sprintf("%5.0f%%", 100 * sum(N == vals$N[j]) / 100)
}
hist(Ns, xlab = "Total sample size", main = "", las = 1)
print(vals, row.names = FALSE)
N times
62 2%
67 1%
68 5%
71 9%
72 3%
73 2%
74 6%
75 10%
76 13%
77 3%
78 4%
79 12%
80 1%
81 3%
82 7%
83 5%
85 4%
86 2%
88 5%
89 2%
94 1%
Try the script of this post.
RSABE.TSD(n1 = 24, CVwR = 0.6978, GMR = 0.85, nmax = 100, final = FALSE)
adjusted alpha : 0.0294 (Pocock’s for superiority)
design : 2x2x4
n1 : 24
futility on N : 100
CVwR : 0.6978 (observed)
theta1 : 0.5700 (lower implied limit)
theta2 : 1.7545 (upper implied limit)
power : 0.6369 (estimated)
Stage 2 initiated (insufficent power in stage 1)
GMR : 0.8500 (fixed)
target power : 0.8000 (fixed)
n2 : 54
N : 78
However, if you really expect a T/R-ratio of 0.72, it would be both economically and ethically more than questionable to perform a study designed for 0.85. That’s a recipe for disaster!
power.RSABE(alpha=0.0294, CV = 0.6978, theta0 = 0.72, design = "2x2x4", n = 78)
[1] 0.07005
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:
- Adaptive Design for the FDA’s RSABE? Helmut 2023-12-18 11:20 [Two-Stage / GS Designs]
- Likely it does not work (potentially inflated Type I Error) Helmut 2023-12-19 11:10
- Exploring package adaptIVPT, function rss() Helmut 2023-12-20 13:27
- Extreme test case Helmut 2023-12-24 13:01
- Extreme GMR Naksh 2023-12-25 04:16
- PE outside {0.80, 1.25} not possible Helmut 2023-12-25 10:54
- PE outside {0.80, 1.25} not possible Naksh 2023-12-25 11:42
- Forget rss()Helmut 2023-12-25 13:15
- Forget rss() Naksh 2023-12-26 04:49
- TSD useful at all? Helmut 2023-12-26 12:50
- Forget rss() Naksh 2023-12-26 04:49
- Forget rss()Helmut 2023-12-25 13:15
- PE outside {0.80, 1.25} not possible Naksh 2023-12-25 11:42
- PE outside {0.80, 1.25} not possible Helmut 2023-12-25 10:54
- Extreme GMR Naksh 2023-12-25 04:16
- Extreme test case Helmut 2023-12-24 13:01
- Exploring package adaptIVPT, function rss() Helmut 2023-12-20 13:27
- Likely it does not work (potentially inflated Type I Error) Helmut 2023-12-19 11:10