qzhou
☆    

China,
2019-09-24 06:20
(1647 d 08:45 ago)

Posting: # 20643
Views: 2,909
 

 Two 2x2 and one 6x3 crossover design [Design Issues]

Dear Helmut,

Regarding 6x3 crossover design (with one treatment T and two references R1 and R2), I learned that “Two‐at‐a‐Time Principle” is superior most of time than Pooled ANOVA. Would you evaluate the advantages of two independent 2x2 trials (T vs. R1 and T vs. R2) over the 6x3 crossover design? Actually I have completed the two 2x2 trials. However, someone has challenged me for not conducting it as in 6x3 crossover. Could you please help?

Many thanks,

Bing
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-24 12:57
(1647 d 02:08 ago)

@ qzhou
Posting: # 20644
Views: 2,425
 

 Two 2x2 and one 6x3 crossover design

Hi Bing,

❝ Dear Helmut,

            Not interested in opinions of other members of the forum?

❝ Would you evaluate the advantages of two independent 2x2 trials (T vs. R1 and T vs. R2) over the 6x3 crossover design? Actually I have completed the two 2x2 trials. However, someone has challenged me for not conducting it as in 6x3 crossover.


What speaks against a 6×3 trial:
  1. In the past some (!) agencies didn’t like 6×3 (and 3×3) trials essentially saying “We are not interested in the other reference product”. However, at least for the major agencies (FDA, EMA) these day are gone.
  2. Sample size is a multiple of 6 instead of 2.
  3. Larger blood volume and higher chance of dropouts.
  4. The worst case scenario. T/R1 passes and T/R2 fails. Although you present only the passing part to agency 1, both the analytical and statistical report will still contain the entire data. Doesn’t look good.
#2: Higher sample size (though outweighed by increased power):

CV     <- seq(0.15, 0.4, 0.05)
theta0 <- 0.95
target <- 0.80
res    <- data.frame(CV = CV, n.2x2 = NA, power.2x2 = NA,
                     n.6x3 = NA, power.6x3 = NA)
for (j in 1:nrow(res)) {
  x <- sampleN.TOST(CV = CV[j], theta0 = theta0,
                    targetpower = target, print = FALSE,
                    details = FALSE)
  res[j, 2:3] <- x[1, 7:8]
  # round up to the next multiple of 6
  res[j, 4]   <- res[j, 2] + (6 - res[j, 2] %% 6)
  res[j, 5]   <- power.TOST(CV = CV[j], theta0 = theta0,
                            n = res[j, 4])
}
print(signif(res, 4), row.names = FALSE)

  CV n.2x2 power.2x2 n.6x3 power.6x3
0.15    12    0.8305    18    0.9514
0.20    20    0.8347    24    0.8960
0.25    28    0.8074    30    0.8343
0.30    40    0.8158    42    0.8342
0.35    52    0.8075    54    0.8220
0.40    66    0.8053    72    0.8379


#4 can happen, of course.

library(PowerTOST)
CV     <- seq(0.15, 0.4, 0.05)
theta0 <- 0.95
tests  <- 1
target <- 0.80 # overall passing test(s)
targetpower <- target^(1/tests)
res <- data.frame(CV = CV, n = NA, risk.1 = NA, risk.2 = NA,
                  above = "no", stringsAsFactors = FALSE)
for (j in 1:nrow(res)) {
  n.2x2 <- sampleN.TOST(CV = CV[j], theta0 = theta0,
                        targetpower = targetpower,
                        print = FALSE, details = FALSE)[["Sample size"]]
  n.6x3 <- n.2x2 + (6 - n.2x2 %% 6) # round up to the next multiple of 6
  res[j, 2] <- n.6x3
  res[j, 3] <- 1 - power.TOST(CV = CV[j], theta0 = theta0, n = n.6x3)
  res[j, 4] <- 1 - (1 - res[j, 3])^2
}
res$above[which(res$risk.2 > (1 - target))] <- "yes"
names(res)[5] <- ">beta"
res[, 3:4] <- signif(res[, 3:4], 3)
cat("Producer\u2019s \u03B2 = 1 \u2013 power\n");print(res, row.names = FALSE)

Producer’s β = 1 – power
  CV  n risk.1 risk.2 >beta
0.15 18 0.0486 0.0949    no
0.20 24 0.1040 0.1970    no
0.25 30 0.1660 0.3040   yes
0.30 42 0.1660 0.3040   yes
0.35 54 0.1780 0.3240   yes
0.40 72 0.1620 0.2980   yes


If you want that both pass, you have to increase the sample size accordingly.

tests  <- 2
...

Producer’s β = 1 – power
  CV  n risk.1 risk.2 >beta
0.15 18 0.0486 0.0949    no
0.20 30 0.0514 0.1000    no
0.25 42 0.0673 0.1300    no
0.30 54 0.0882 0.1690    no
0.35 72 0.0879 0.1680    no
0.40 90 0.0937 0.1790    no


What speaks against two 2×2 trials? Costs.

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
UA Flag
Activity
 Admin contact
22,957 posts in 4,819 threads, 1,639 registered users;
80 visitors (0 registered, 80 guests [including 6 identified bots]).
Forum time: 14:05 CET (Europe/Vienna)

Nothing shows a lack of mathematical education more
than an overly precise calculation.    Carl Friedrich Gauß

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