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

posted by Helmut Homepage – Vienna, Austria, 2021-03-16 17:00 (1905 d 19:21 ago) – Posting: # 22273
Views: 9,826

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
23,653 posts in 4,991 threads, 1,571 registered users;
484 visitors (0 registered, 484 guests [including 17 identified bots]).
Forum time: 13:22 CEST (Europe/Vienna)

I’m all in favor of the democratic principle
that one idiot is as good as one genius, but I draw the line
when someone takes the next step and concludes
that two idiots are better than one genius.    Leo Szilard

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