Higher-order cross­overs [Power / Sample Size]

Helmut, thank you for the detailed response, examples in R, and references! I put the answers to the questions below (I tried to change color on responses, but not sure if that worked). Thanks. Sveta

» Which PE did you find in the prior study? Its sample size would be helpful as well.

This is more a hypothetical example, so really not known

» » … alpha is 0.05, equivalence limits are 80%-125%, and we desire power of 80%. These criteria result in an overall sample size of 20 subjects, or 10 per sequence.

» Correct – if you are a believer of the ‘carved in stone’ approach (i.e., that in the planned study the CV will be exactly 23% and the PE exactly 1). I suggest to have a look at Example 3 of the ABE-Vignette of the R package PowerTOST to reconsider your assumptions. See also there (slide 8 and followings).

» » Subsequently, …
» What do you mean by ‘subsequently’?

‘Subsequently’ here refers to the next study on somewhat different population (where we expect smaller value of CV), with higher order of crossover

» » … we want to add 2 extra dose levels of our test drug, resulting in a 4x4 crossover trial.
» What is the purpose of the study – dose proportionality? If yes, that’s another cup of tea.

The purpose is to show dose-normalized equivalence

» » Let’s assume that %CV and GMR are not changing, as no further data is available.
» Rather strong assumptions, right?

We actually expect a smaller value of %CV, not sure on GMR though

» » For this new scenario, is it appropriate to: 1) use the original sample size of N=20 and simply divide it over 4 sequences (5 per sequence), or 2) take the original per sequence sample size of 10 and multiply by 4 to get 40 subjects overall needed?
» It depends whether you want to show dose-normalized equivalence (i.e., strict dose normality) or dose proportionality by the power model $$E[Y]=\alpha \cdot D^{\; \beta}$$.
» Say we have four formulations (A, the reference R, B, and C) and three dose levels (x, y, z), where A = R = x, B = y, C = z.
» You randomize subjects either to the Latin Square ARBC|RBCA|BCAR|CARB or any one of the six Williams’ designs ACBR|RBCA|BARC|CRAB, ARBC|RCAB|BACR|CBRA, ACRB|RABC|BRCA|CBAR, ABRC|RACB|BCAR|CRBA, ABCR|RCBA|BRAC|CARB, ARCB|RBAC|BCRA|CABR.

» — If you want to assess dose-normalized equivalence, follow the ‘Two‐at‐a‐Time Principle’, i.e., perform pairwise comparisons whilst excluding the others.1 Do not use a pooled ANOVA because it may give biased estimates and/or inflate the Type I Error.2,3
» That means your first scenario is correct (you estimate the sample size like a 2×2×2 crossover) and get three incomplete block designs to evaluate: AR, xB/yR, and xC/zR.
» If you insist in a pooled ANOVA for any reasons, you end up with 20 subjects as well (though with slightly higher power due to the higher degrees of freedom 3n–6 compared to the n–2 in the 2×2×2):
» library(PowerTOST)
» x         <- data.frame(design = c("2x2x2", "4x4"), n = NA, power.pct = NA)
» x[1, 2:3] <- sampleN.TOST(CV = 0.23, theta0 = 1, design = "2x2x2",
»                           print = FALSE)[7:8]
» x[2, 2:3] <- sampleN.TOST(CV = 0.23, theta0 = 1, design = "4x4",
»                           print = FALSE)[7:8]
» x[3]      <- round(100*x[3], 2)
» print(x, row.names = FALSE)
»
» design  n power.pct
»  2x2x2 20     82.08

This is what we are trying to do, so this is exactly the response I was looking for.

I used the following example in R with CV=1.04 and got similar overall SS from either 2x2 or 4x4, so then the overall SS will just need to be split to higher order crossover – about 67 subjects per sequence for 2x2 and about 34 per sequence for 4x4. I assume that if we had to do even higher order crossover, then we would follow similar approach. R does not support 5x5 for example, but if we had to use 5x5 it would be about 26 subjects per sequence, it seems to be,is it correct?

CV=1.04, design = 2x2:
sampleN.TOST(CV = 1.04, theta1=0.67, theta2 = 1.5,  theta0 = 1.1, design = "2x2", print = FALSE, logscale=TRUE, targetpower=0.9)[7:8]   Sample size Achieved power 1         134      0.9029653

CV=1.04, design = 4x4
sampleN.TOST(CV = 1.04, theta1=0.67, theta2 = 1.5,  theta0 = 1.1, design = "4x4", print = FALSE, logscale=TRUE, targetpower=0.9)[7:8]   Sample size Achieved power 1           132      0.9008229

Edit: Standard quotes restored; see also this post #8[Helmut]