Problems with low variability [General Sta­tis­tics]

posted by Helmut Homepage – Vienna, Austria, 2020-10-09 15:04 (140 d 08:38 ago) – Posting: # 21986
Views: 562

Hi Siva Krishna,

» I would like to say Thank you sir for your valuable information. This may be helpful to my question.

Welcome. Would you mind answering my previous questions:
» » I guess 100% was not contained in the 90% CI, right?
» » For which power did you plan the study?

Sometimes statistically significant differences are common, namely if the CV is low (say, <10%) and you plan for 80% power. Then you may end up with a sample size far below the regulatory minimum of twelve. Add more subjects to compensate for potential dropouts and…
In my protocols I state that extremely high power is expected and the CI might well contain not 100%.


[image] script:

library(PowerTOST)
balance <- function(x, seqs) { # gives complete sequences
  x <- ceiling(x) + ceiling(x) %% seqs
  return(x)
}
CV       <- 0.10    # assumed (here 10%)
theta0   <- 0.925   # assumed T/R-ratio
target   <- 0.80    # target (desired) power (here at least 80%)
do.rate  <- 0.10    # anticipated dropout rate (here 10%)
design   <- "2x2x2" # can be any one given by known.designs()
seqs     <- as.integer(substr(design, 3, 3)) # sequences
n        <- sampleN.TOST(CV = CV, theta0 = theta0, targetpower = target,
                         design = design, details = FALSE,
                         print = FALSE)[["Sample size"]]
if (n < 12) n <- 12 # force to minimum acc. to GLs
dosed    <- balance(n / (1 - do.rate), seqs) # adjust for dropout-rate & balance
eligible <- dosed:n; dropouts <- rev(eligible - n)
res      <- data.frame(dosed = dosed, dropouts = dropouts, eligible = eligible,
                       power = NA, CL.lo = NA, CL.hi = NA,
                       p.left = NA, p.right = NA)
for (j in seq_along(eligible)) {
  res$power[j] <- suppressMessages(
                    signif(power.TOST(CV = CV, theta0 = theta0,
                                      design = design, n = eligible[j]), 4))
  res[j, 5:6]  <- round(100*CI.BE(pe = theta0, CV = CV,
                                  design = design, n = eligible[j]), 2)
  res[j, 7:8]  <- suppressMessages(
                    signif(pvalues.TOST(pe = theta0, CV = CV,
                                        design = design, n = eligible[j]), 4))
}
print(res, row.names = FALSE)

Gives (if the assumptions about the CV and T/R-ratio are realized in the study):

 dosed dropouts eligible  power CL.lo CL.hi   p.left   p.right
    14        0       14 0.9760 86.49 98.93 0.001154 1.913e-06
    14        1       13 0.9652 86.22 99.23 0.001752 4.846e-06
    14        2       12 0.9521 85.92 99.59 0.002569 1.166e-05


Dif-tor heh smusma 🖖
Helmut Schütz
[image]

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

Complete thread:

Activity
 Admin contact
21,357 posts in 4,459 threads, 1,492 registered users;
online 7 (0 registered, 7 guests [including 4 identified bots]).
Forum time: Friday 22:43 CET (Europe/Vienna)

Those who make no mistakes are making the biggest mistakes of all 
they are attempting nothing new.    Anthony de Mello

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