chrisk
☆    

2022-08-01 07:03
(14 d 01:33 ago)

Posting: # 23195
Views: 260
 

 3 treatments with two-at-a-time approach [Power / Sample Size]

Dear all,
First, thank you to the authors of PowerTOST and the maintainers of this wonderful forum.

I have a question about how the sample size is calculated for 1 test (A) and 2 references (B and C) based on 3x6x3 design. I am interested in showing the BE based on both A/C and B/C. If I were to use the two-at-a-time analysis approach, can I use the following function to get the sample size?

sampleN.TOST(CV = 0.2, design = "2x2")

Sample size (total)
 n     power
20   0.834680 


Based on this output, I am to assign 20/6 ~ 4 participants in each of the 6 sequences. I am hoping my reasoning is correct :-)

Also, I was unable to find any reference for the sample size calculation and wondered if anyone can kindly point me to the right direction.

Thank you!


Edit: Category changed; see also this post #1[Helmut]
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2022-08-01 13:41
(13 d 18:55 ago)

@ chrisk
Posting: # 23197
Views: 216
 

 3 treatments with two-at-a-time approach

Hi Chris,

» First, thank you to the authors of PowerTOST and the maintainers of this wonderful forum.

Welcome!

» […] how the sample size is calculated for 1 test (A) and 2 references (B and C) based on 3x6x3 design. I am interested in showing the BE based on both A/C and B/C.

Not uncommon.

» If I were to use the two-at-a-time analysis approach, …

Good idea!

» … can I use the following function to get the sample size?
»
» sampleN.TOST(CV = 0.2, design = "2x2")
»
» Sample size (total)
» n     power
» 20   0.834680
»
» Based on this output, I am to assign 20/6 ~ 4 participants in each of the 6 sequences. I am hoping my reasoning is correct :-)

Almost. ;-)

I suggest the section ‘Two at a Time’ as a starter.
Scroll down a bit and click Show/hide details (sorry, JavaScript required). Additionally to PowerTOST you need the package randomizeBE. You are interested in the [image]-script make.ibds(). It has the same defaults like sampleN.TOST() and performs randomization of Williams’ designs for an arbitrary number of treatments in such a way that the extracted IBDs are balanced. Since for three treatments the default codes are A, B, C and the default comparisons are A/C and B/C, it’s easy.

library(PowerTOST)
library(randomizeBE)
make.ibds(CV = 0.2)

Gives:

subject seqno sequence IBD 1 IBD 2
       1     3      BAC   •AC   B•C
       2     4      BCA   •CA   BC•
       3     6      CBA   C•A   CB•
       4     5      CAB   CA•   C•B
       5     1      ABC   A•C   •BC
       6     2      ACB   AC•   •CB
       7     4      BCA   •CA   BC•
       8     1      ABC   A•C   •BC
       9     5      CAB   CA•   C•B
      10     6      CBA   C•A   CB•
      11     2      ACB   AC•   •CB
      12     3      BAC   •AC   B•C
      13     6      CBA   C•A   CB•
      14     1      ABC   A•C   •BC
      15     2      ACB   AC•   •CB
      16     5      CAB   CA•   C•B
      17     3      BAC   •AC   B•C
      18     6      CBA   C•A   CB•
      19     3      BAC   •AC   B•C
      20     4      BCA   •CA   BC•

Reference             : C
Tests                 : A, B
Sequences             : ABC, ACB, BAC, BCA, CAB, CBA
Subjects per sequence : 3 | 3 | 4 | 3 | 3 | 4 (imbalanced)
Estimated sample size : 20
Achieved power        : 0.8347
Randomized            : 2022-08-01 13:37:56 CEST
Seed                  : 9540602
Runtime               : 20 ms (2 calls for balance of IBDs)

Of course, the sample size agrees with yours. However, there is no guarantee that you get balanced IBDs from multiple sequences of a given Williams’ design. Therefore, the script calls the randomization repeatedly until balance is achieved. Unpredictable, how many calls are needed. Sometimes just one, sometimes many more.

calls <- numeric(0)
for (call in 1:250) {
  calls[call] <- make.ibds(CV = 0.2, print = FALSE, details = FALSE)$calls
}
summary(calls, digits = 1)

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
   1      2        3       4       6      29


If you want that the study (not only the IBDs) are balanced, use make.ibds(CV = 0.2, bal = TRUE). Even if IBDs are balanced, they are not necessarily balanced for period effects. In the example above: A is administered 6× in period 1 and 7× in periods 2 and 3. C is administered 6× in period 2 and 7× in periods 1 and 3. Too lazy to repeat this game for B/C.
Period-balance is a desirable property and I strongly recommend to aim at it. You would have a hard time to convince regulators that a true period effect does not exist. No, the p-value of an ANOVA is not relevant. However, there’s a downside: The sample size will be rounded up to a multiple of the number of sequences of the respective Williams’ design, i.e., in this example to 24.
In most cases you will increase the estimated sample size taking the anticipated dropout-rate into account anyhow. That’s especially important for Higher-Order crossovers and replicate designs as well. Let’s assume a conservative dropout-rate of 10%.

make.ibds(CV = 0.2, do.rate = 0.1)

Gives:

 subject seqno sequence IBD 1 IBD 2
       1     4      BCA   •CA   BC•
       2     5      CAB   CA•   C•B
       3     1      ABC   A•C   •BC
       4     2      ACB   AC•   •CB
       5     5      CAB   CA•   C•B
       6     6      CBA   C•A   CB•
       7     3      BAC   •AC   B•C
       8     4      BCA   •CA   BC•
       9     6      CBA   C•A   CB•
      10     3      BAC   •AC   B•C
      11     1      ABC   A•C   •BC
      12     2      ACB   AC•   •CB
      13     6      CBA   C•A   CB•
      14     1      ABC   A•C   •BC
      15     3      BAC   •AC   B•C
      16     5      CAB   CA•   C•B
      17     5      CAB   CA•   C•B
      18     6      CBA   C•A   CB•
      19     4      BCA   •CA   BC•
      20     2      ACB   AC•   •CB
      21     4      BCA   •CA   BC•
      22     3      BAC   •AC   B•C
      23     1      ABC   A•C   •BC
      24     2      ACB   AC•   •CB

Reference                : C
Tests                    : A, B
Sequences                : ABC, ACB, BAC, BCA, CAB, CBA
Subjects per sequence    : 4 | 4 | 4 | 4 | 4 | 4 (balanced)
Estimated sample size    : 20
Achieved power           : 0.8347
 Anticipated dropout-rate: 10%
 Adjusted sample size    : 24
 Achieved power          : 0.8960
Randomized               : 2022-08-01 13:38:47 CEST
Seed                     : 8582810
Runtime                  : 20 ms (1 call for balance of IBDs)

  • The administrations are balanced,
  • the IBDs are balanced, and
  • all IBDs are period-balanced.
If you want to use another randomization (SAS, whatsoever), you must check whether the extracted IBDs are balanced.

» Also, I was unable to find any reference for the sample size calculation and wondered if anyone can kindly point me to the right direction.

<nitpick>

Estimation, if you don’t mind.

</nitpick>

I know only two. However, this one1 is for the ‘All at Once’ approach – which I don’t recommend – and that one2 pretty technical.


  1. Yuan J, Tong T, Tang M-L. Sample Size Calculation for Bioequivalence Studies Assessing Drug Effect and Food Effect at the Same Time With a 3-Treatment Williams Design. Regul Sci. 2013; 47(2): 242–7. doi:10.1177/2168479012474273.
  2. Zheng C, Wang J, Zhao L. Testing bioequivalence for multiple formulations with power and sample size calculations. Pharm Stat. 2012; 11(4): 334–41. doi:10.1002/pst.1522.

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
chrisk
☆    

2022-08-01 17:56
(13 d 14:40 ago)

@ Helmut
Posting: # 23198
Views: 185
 

 3 treatments with two-at-a-time approach

I sincerely appreciate your help that is so prompt! And thank you for your explanation that is crystal clear! I can see that you put much time and efforts to explain the details. It is all well appreciated with me. Thank you, thank you, thank you!!!
Thank you also for pointing me to the literature. I have more homework to do now :-)
Have a wonderful day!
UA Flag
Activity
 Admin contact
22,301 posts in 4,667 threads, 1,585 registered users;
online 4 (0 registered, 4 guests [including 1 identified bots]).
Forum time: Monday 08:37 CEST (Europe/Vienna)

Science… never solves a problem
without creating ten more.    George Bernard Shaw

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