All dosed subjects have to be analyzed [General Sta­tis­tics]

posted by Helmut Homepage – Vienna, Austria, 2021-03-16 16:00 (559 d 07:54 ago) – Posting: # 22273
Views: 3,579

Hi sedhosen,

» Is it also not acceptable to replace subjects even if the number of excluded subjects is more than the number of considered dropouts?

Acc. to the GL, yes.

» For example, if 7 subjects are withdrawn during the study after receiving the dose, and the number of considered dropouts are 5 subjects, is there any way we can replace 2 subjects that were withdrawn over the number of dropouts?

Two points:
  1. The impact of dropouts on power is overrated by many (you are not alone). An example with a dropout-rate of 15% and two less eligible subjects than anticipated:
    Does it really matter? Remember that the sample estimation is based on assumptions – it’s not an exact calculation.
       CV  n  power dosed eligible power.actual
     0.20 20 0.8347    24       18       0.7912
     0.25 28 0.8074    34       26       0.7761
     0.30 40 0.8158    48       38       0.7953
     0.35 52 0.8075    62       50       0.7917

    [image]-scrip at the end.
  2. If you would dose two subjects later, it could complicate the statistical model because periods differ. Of course, you could ignore that but I have seen nasty questions from regulators.


ibrary(PowerTOST)
up2even <- function(n, ns = 2) {
  return(as.integer(ns * (n %/% ns + as.logical(n %% ns))))
}
nadj <- function(n, do.rate, ns = 2) {
  return(as.integer(up2even(n / (1 - do.rate), ns)))
}
design  <- "2x2x2"
CV      <- seq(0.2, 0.35, 0.05)
theta0  <- 0.95 # T/R-ratio
target  <- 0.80 # desired power
do.rate <- 0.15 # 15%
if (design == "parallel") {
  ns <- 2L
} else {
  ns <- as.integer(substr(design, 3, 3))
}
df <- data.frame(CV = CV, n = NA, power = NA,
                 dosed = NA, eligible = NA, power.actual = NA)
for (j in 1:nrow(df)) {
  tmp <- sampleN.TOST(CV = CV[j], theta0 = theta0,
                      targetpower = target,
                      design = design, print = FALSE)
  df[j, 2:3] <- tmp[7:8]
  df[j, 4]   <- nadj(df[j, 2], do.rate, ns)
  df[j, 5]   <- df[j, 2] - 2
  df[j, 6]   <- power.TOST(CV = CV[j], theta0 = theta0,
                           design = design, n = df[j, 5])
}
print(signif(df, 4), row.names = FALSE)


Dif-tor heh smusma 🖖 Довге життя Україна! [image]
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

UA Flag
Activity
 Admin contact
22,390 posts in 4,685 threads, 1,594 registered users;
online 7 (0 registered, 7 guests [including 3 identified bots]).
Forum time: Tuesday 00:55 CEST (Europe/Vienna)

Statistics. A sort of elementary form of mathematics which consists of
adding things together and occasionally squaring them.    Stephen Senn

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5