jag009
★★★

NJ,
2013-04-02 23:11
(4424 d 23:48 ago)

Posting: # 10332
Views: 11,469
 

 SAS Procedure on Partial Replicate (TRR) Study Data [RSABE / ABEL]

Hi all,

It's a dumb question but I might as well ask..

According to the FDA progesterone guidance, the 3-sequences for a 3-way partial replicate study (TRR) is:
TRR
RTR
RRT

I was reviewing an old study report and found out that the CRO chose the following sequences for a 3-way partial rep study; A=Test, B=Ref. I dont know why they did this :confused: but it was before my time here.
BAB (RTR)
ABB (TRR)
BBA (RRT)

Question. Would scale average BE (SCABE) computation in SAS yield different results if the period and sequence identifier for Ref1 and Ref2 are messed up (ie: CRO inadvertently used the FDA sequences for stats but used their own sequences for dosing)? Why I ask? See below...

I set up my SAS code as per FDA's example and assigned what is Ref1 and Ref2 as per CRO's BAB, ABB, BBA randomization sequences. I compared my PROC GLM SAS output for dlat to that generated by CROs and the outcome was different. The results for SCABE (theta, sWR, Critbound, Ratio) did not match those generated by the CRO.

Now comes the interesting part. When I set up my code as per FDA, exactly AS IS, meaning even the sequence and period assignment for Ref1 and Ref2 (meaning following TRR, RTR, RRT instead of CRO's BAB, ABB, BBA), I ended up getting the same SCABE results (theta, sWR, Critbound, Ratio) as the CRO's. :angry::confused:

Thanks
John


Edit: Category changed. [Helmut]
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2013-04-03 15:42
(4424 d 07:16 ago)

@ jag009
Posting: # 10333
Views: 9,755
 

 Confusing…

Hi John!

❝ According to the FDA progesterone guidance, the 3-sequences for a 3-way partial replicate study (TRR) is:

❝ TRR

❝ RTR

❝ RRT

❝ […] the CRO chose the following sequences for a 3-way partial rep study; A=Test, B=Ref. A=Test, B=Ref. I dont know why they did this

❝ BAB (RTR)

❝ ABB (TRR)

❝ BBA (RRT)


Are you trying to confuse me? The sequences are the same; the order is irrelevant. Are you not happy with the “A” and “B”? Such a coding would also work:
hocus pocus pocus
pocus hocus pocus
pocus pocus hocus

I guess the sequences were randomized. By chance it might be that the first three subjects had sequences TRR|TRR|TRR. As long as you had ⅓ of subjects allocated to each of the three sequences no problem.

❝ Would scale average BE (SCABE) computation in SAS yield different results if the period and sequence identifier for Ref1 and Ref2 are messed up (ie: CRO inadvertently used the FDA sequences for stats but used their own sequences for dosing)?


Duno what you mean by “FDA sequences”. Of course any administration different from the randomization used in the evaluation would screw up everything. Imagine you have a 2×2×2 cross-over in two (!) subjects. They were dosed (1) RT and (2) TR. Now you assume the sequences were TR and RT. What will you get? ;-)

Can you post the sequences of e.g., the first twelve subjects?

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
jag009
★★★

NJ,
2013-04-03 18:06
(4424 d 04:52 ago)

@ Helmut
Posting: # 10335
Views: 9,861
 

 Confusing…

Hi Helmut,

What I was trying to say is:

FDA guidance shows:
Sequence 1=TRR
Sequence 2=RTR
Sequence 3=RRT

CRO used the following:
Sequence 1=BAB (RTR)
Sequence 2=ABB (TRR)
Sequence 3=BBA (RRT)

When you look at the SAS code from the Progesterone guidance for 3-way partial replicate. The section where you generate 3 datasets, 1 for test, 1 for ref1 and 1 for ref2.

Dataset containing TEST observations:
data test;
set pk;
if trt='T';
latt=lauct;
run;
Dataset containing REFERENCE 1 observations:
data ref1;
set ref;
* if (seq=1 and per=2) or (seq=2 and per=1) or (seq=3 and per=1); *
lat1r=lauct;
run;
Dataset containing REFERENCE 2 observations:
data ref2;
set ref;
* if (seq=1 and per=3) or (seq=2 and per=3) or (seq=3 and per=2); *
lat2r=lauct;
run;


See the if statements in astericks? Those statements should be written according to the way the sequences were set up (i.e., the aboves were written based on how FDA set up the sequences meaning Sequence 1 = TRR, Sequence 2 = RTR, Sequence 3 = RRT). My suspicion is that the CRO failed to update those statements according to the way they set up their sequences but instead they used the FDA codes (if statements) above. How did I find out? I used the above codes AS IS with the CRO data and I ended up with the same SCABE results. However, when I set up the if statements the way they are supposed to be as per CRO's sequences (Sequence 1 = BAB, Sequence 2 = ABB, Sequence 3 = BBA) then the results were different.

As I go further down the SAS code, the PROC GLM analysis for dlat (below). Would incorrect sequence assignment leads to different results (Perhaps d_labes or ElMaestro can help since they use SAS?)

Intermediate analysis - dlat
proc glm data=scavbe;
class seq;
model dlat=seq;
ods output overallanova=dglm1;
ods output NObs=dglm3;
title1 'scaled average BE';
run;


Can I post the data up (of course no labels)? 72 subjects though. Just Cmax.

I hope I am wrong but I can't confirm so need a 2nd pair of hands. :-)

Thanks
John
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2013-04-03 23:49
(4423 d 23:10 ago)

@ jag009
Posting: # 10336
Views: 9,731
 

 Confusing…

Hi John!

❝ My suspicion is that the CRO failed to update those statements according to the way they set up their sequences but instead they used the FDA codes (if statements) above.


Wonderful.
Personally I never code sequences with numbers but characters instead. The code is much easier to check. Pseudocode:
R1: (seq='TRR' ∧ per=2) ∨ (seq='RTR' ∧ per=1) ∨ (seq='RRT' ∧ per=1)
R2: (seq='TRR' ∧ per=3) ∨ (seq='RTR' ∧ per=3) ∨ (seq='RRT' ∧ per=2)


❝ Can I post the data up (of course no labels)? 72 subjects though. Just Cmax.


Sure. Separate columns by single blanks. Columns (any order you like): subject, sequence, period, treatment, Cmax. If you want to do me a favor code sequences with three character strings (not 1, 2, 3).

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
jag009
★★★

NJ,
2013-04-04 01:01
(4423 d 21:57 ago)

@ Helmut
Posting: # 10337
Views: 9,972
 

 Confusing…

Thanks Helmut.

Hope this is the way you wanted (space delimited). I swapped the Sequence# 1,2,3 as A,B,C. Therefore sequence A=BAB (or RTR), B=ABB (or TRR), C=BBA (or RRT). A=Test, B=Reference. The columns are Subject, Period, Drug, Sequence, LnCmax. There are two missing values "."
 1 1 B B 7.423568444
 1 2 A B 7.70210434
 1 3 B B 6.964135612
 2 1 A A 8.009363077
 2 2 B A 7.408530567
 2 3 B A 6.631474629
 3 1 B B 7.930206207
 3 2 A B 8.327726166
 3 3 B B 7.503840747
 4 1 A A 7.668093709
 4 2 B A 8.233237501
 4 3 B A 6.741110202
 5 1 B C 7.409741954
 5 2 B C 8.814033202
 5 3 A C 8.019612794
 6 1 B C 7.605392365
 6 2 B C 7.402451521
 6 3 A C 7.733245647
 7 1 B B 6.800504088
 7 2 A B 7.893945138
 7 3 B B 7.724004657
 8 1 B B 6.909753282
 8 2 A B 8.226305988
 8 3 B B 7.34536484
 9 1 A A 8.00836557
 9 2 B A 7.954021087
 9 3 B A 7.832014181
10 1 B C 6.833462674
10 2 B C 6.521651524
10 3 A C 7.372746366
11 1 B C 7.817222786
11 2 B C 7.221105098
11 3 A C 8.280204233
12 1 A A 7.319202459
12 2 B A 6.36233821
12 3 B A 7.377133713
13 1 B C 8.002359546
13 2 B C 8.058960018
13 3 A C 8.404024493
14 1 A A 7.806696373
14 2 B A 6.813884063
14 3 B A 6.898613621
15 1 B C 8.218517577
15 2 B C 8.068089626
15 3 A C 8.405591015
16 1 B B 7.705262475
16 2 A B 8.090708716
16 3 B B 7.864804003
17 1 A A 7.369600721
17 2 B A 7.126890809
17 3 B A 7.305860033
18 1 B B 7.00033446
18 2 A B 7.805474625
18 3 B B 7.320526962
19 1 B B 7.037027615
19 2 A B 7.393263095
19 3 B B 7.389563954
20 1 B B 6.326864781
20 2 A B 8.18729927
20 3 B B 6.245331271
21 1 B C 8.106212903
21 2 B C 7.37337431
21 3 A C 7.910590612
22 1 B C 6.941190055
22 2 B C 7.062191632
22 3 A C 8.666130304
23 1 A A 7.898782357
23 2 B A 8.057377489
23 3 B A 7.982416347
24 1 A A 6.797270546
24 2 B A 6.626850191
24 3 B A 6.817721156
25 1 B C 8.13973228
25 2 B C 7.522400231
25 3 A C 8.25997566
26 1 B B 6.91274282
26 2 A B 7.453561872
26 3 B B 7.062191632
27 1 A A 5.835979644
27 2 B A 5.691709893
27 3 B A 6.21080086
28 1 A A 7.286191715
28 2 B A 7.444248649
28 3 B A 8.540128163
29 1 B C 7.884952946
29 2 B C 7.753623547
29 3 A C 8.418918622
30 1 B B 7.774015077
30 2 A B 7.513709248
30 3 B B 7.582229194
32 1 B B 6.659678461
32 2 A B 7.832807517
32 3 B B 7.512617545
33 1 B C 8.567315801
33 2 B C 7.808729307
33 3 A C 8.350902452
34 1 A A 7.54009032
34 2 B A 6.455041318
34 3 B A 6.576051654
35 1 A A 7.796880343
35 2 B A 6.757048662
35 3 B A 7.252762418
36 1 B B 7.18690102
36 2 A B 7.440733707
36 3 B B 6.91671502
37 1 A A 7.586296307
37 2 B A 7.557994959
37 3 B A .
38 1 B C 6.317706056
38 2 B C 7.266827348
38 3 A C 7.754052639
39 1 B C 6.161840033
39 2 B C 6.464432528
39 3 A C 7.03438793
40 1 B B 7.134093721
40 2 A B 7.966239777
40 3 B B 7.983440063
41 1 A A 7.01301579
41 2 B A 6.858144778
41 3 B A 6.629759476
42 1 B B 7.381501895
42 2 A B 7.994632311
42 3 B B .
43 1 A A 7.183111702
43 2 B A 7.733245647
43 3 B A 7.897668151
44 1 B B 7.018401799
44 2 A B 8.058960018
44 3 B B 7.17930797
45 1 A A 9.119868469
45 2 B A 7.198183577
45 3 B A 8.538367427
46 1 B C 6.677209398
46 2 B C 6.493148513
46 3 A C 7.244941546
47 1 B B 8.872627366
47 2 A B 8.068402959
47 3 B B 8.886685639
48 1 B C 6.97354302
48 2 B C 7.290974778
48 3 A C 8.349247801
49 1 B C 7.65349491
49 2 B C 7.507690078
49 3 A C 7.670428522
50 1 A A 7.463363046
50 2 B A 6.730062991
50 3 B A 7.189922171
51 1 B B 6.254789888
51 2 A B 6.856882949
51 3 B B 6.899118086
52 1 A A 7.357556201
52 2 B A 7.107425474
52 3 B A 7.737180078
53 1 B C 7.99530662
53 2 B C 8.697178688
53 3 A C 8.286017468
54 1 B B 8.086102536
54 2 A B 7.163172391
54 3 B B 8.051659557
55 1 B B 7.687080156
55 2 A B 8.158516245
55 3 B B 6.856567242
56 1 B B 6.683986532
56 2 A B 8.06022424
56 3 B B 6.187647917
57 1 B C 7.03438793
57 2 B C 7.823645931
57 3 A C 7.23489842
58 1 A A 7.437206367
58 2 B A 7.002155954
58 3 B A 7.237059026
59 1 A A 9.036344064
59 2 B A 7.326465614
59 3 B A 8.185350223
60 1 B C 5.927725706
60 2 B C 5.966659428
60 3 A C 6.293049525
61 1 B B 7.848933726
61 2 A B 8.313361951
61 3 B B 7.973844376
62 1 B C 8.921857979
62 2 B C 8.868694777
62 3 A C 8.620291149
63 1 A A 7.528331767
63 2 B A 7.434847875
63 3 B A 7.440733707
64 1 B C 7.643482907
64 2 B C 7.878534196
64 3 A C 7.242797923
65 1 A A 8.339261983
65 2 B A 7.467371067
65 3 B A 7.740229525
66 1 B B 6.801616683
66 2 A B 7.126890809
66 3 B B 7.836369761
67 1 B B 6.373149127
67 2 A B 7.858254182
67 3 B B 6.900529234
68 1 B B 6.593455409
68 2 A B 7.203405521
68 3 B B 6.814652661
69 1 A A 6.849914279
69 2 B A 6.321127942
69 3 B A 6.502190166
70 1 B C 6.58271742
70 2 B C 8.02289687
70 3 A C 7.681099002
71 1 A A 8.004699511
71 2 B A 6.869637957
71 3 B A 7.244941546
72 1 B C 8.698514248
72 2 B C 8.883917471
72 3 A C 7.960323629


Thanks
John


Edit: Table sorted by subject and period. [Helmut]
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2013-04-04 01:22
(4423 d 21:36 ago)

@ jag009
Posting: # 10338
Views: 9,693
 

 Confusing…

Hi John!

❝ Hope this is the way you wanted (space delimited).


Not quite but I think I can handle that.

❝ I swapped the Sequence# 1,2,3 as A,B,C. Therefore sequence A=BAB (or RTR), B=ABB (or TRR), C=BBA (or RRT). A=Test, B=Reference. The columns are Subject, Period, Drug, Sequence, LnCmax. There are two missing values "."


Your coding somehow still matches the post’s subject line.*
1 1 B B 7.423568444
1 2 A B 7.70210434
1 3 B B 6.964135612

B B? Is that the reference twice? Oh no, it codes for treatment R in the 3rd column and sequence TRR in the 4th

For clarity – and substituting treatments A→T, B→R and sequences A→RTR, B→TRR, C→RRT – I would have coded somefink like:
1 1 R TRR 7.423568444
1 2 T TRR 7.70210434
1 3 R TRR 6.964135612

With such a code you do not need to look at the head of the table in order to understand what is going on in each row. Much easier for error snooping …

… but hey,
1 1 R TRR 7.423568444 → R is not in period 1
1 2 T TRR 7.70210434  → T is not in period 2
1 3 R TRR 6.964135612 → OK, R is in period 3

Can you check please?

If I trust the sequences more and recode treatment according to period, e.g.,
1 1 T TRR 7.423568444
1 2 R TRR 7.70210434
1 3 R TRR 6.964135612

I got in Phoenix 6.3:
pointest   0.86899272  (passes; within [0.8, 1.25])
sWR        0.45854843  (≥0.294; perform RSABE. CVWR 48.37%)
critbound -0.092689149 (≤0: passes RSABE)


  • If debugging is the process of removing bugs,
    then programming must be the process of putting them in.
    Edsger W. Dijkstra

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
jag009
★★★

NJ,
2013-04-04 17:59
(4423 d 04:59 ago)

@ Helmut
Posting: # 10345
Views: 9,687
 

 Confusing…

Hi Helmut,

Sorry for the typos. Here is the dataset again. I coded the sequence and treatments as they are (A,B). BAB is sequence 1, ABB is sequence 2, BBA is sequence 3. Subject, period, treatment, sequence, lnCmax. (see my next message). Thanks John

1 1 B BAB 7.42357
1 2 A BAB 7.7021
1 3 B BAB 6.96414
2 1 A ABB 8.00936
2 2 B ABB 7.40853
2 3 B ABB 6.63147
3 1 B BAB 7.93021
3 2 A BAB 8.32773
3 3 B BAB 7.50384
4 1 A ABB 7.66809
4 2 B ABB 8.23324
4 3 B ABB 6.74111
5 1 B BBA 7.40974
5 2 B BBA 8.81403
5 3 A BBA 8.01961
6 1 B BBA 7.60539
6 2 B BBA 7.40245
6 3 A BBA 7.73325
7 1 B BAB 6.8005
7 2 A BAB 7.89395
7 3 B BAB 7.724
8 1 B BAB 6.90975
8 2 A BAB 8.22631
8 3 B BAB 7.34536
9 1 A ABB 8.00837
9 2 B ABB 7.95402
9 3 B ABB 7.83201
10 1 B BBA 6.83346
10 2 B BBA 6.52165
10 3 A BBA 7.37275
11 1 B BBA 7.81722
11 2 B BBA 7.22111
11 3 A BBA 8.2802
12 1 A ABB 7.3192
12 2 B ABB 6.36234
12 3 B ABB 7.37713
13 1 B BBA 8.00236
13 2 B BBA 8.05896
13 3 A BBA 8.40402
14 1 A ABB 7.8067
14 2 B ABB 6.81388
14 3 B ABB 6.89861
15 1 B BBA 8.21852
15 2 B BBA 8.06809
15 3 A BBA 8.40559
16 1 B BAB 7.70526
16 2 A BAB 8.09071
16 3 B BAB 7.8648
17 1 A ABB 7.3696
17 2 B ABB 7.12689
17 3 B ABB 7.30586
18 1 B BAB 7.00033
18 2 A BAB 7.80547
18 3 B BAB 7.32053
19 1 B BAB 7.03703
19 2 A BAB 7.39326
19 3 B BAB 7.38956
20 1 B BAB 6.32686
20 2 A BAB 8.1873
20 3 B BAB 6.24533
21 1 B BBA 8.10621
21 2 B BBA 7.37337
21 3 A BBA 7.91059
22 1 B BBA 6.94119
22 2 B BBA 7.06219
22 3 A BBA 8.66613
23 1 A ABB 7.89878
23 2 B ABB 8.05738
23 3 B ABB 7.98242
24 1 A ABB 6.79727
24 2 B ABB 6.62685
24 3 B ABB 6.81772
25 1 B BBA 8.13973
25 2 B BBA 7.5224
25 3 A BBA 8.25998
26 1 B BAB 6.91274
26 2 A BAB 7.45356
26 3 B BAB 7.06219
27 1 A ABB 5.83598
27 2 B ABB 5.69171
27 3 B ABB 6.2108
28 1 A ABB 7.28619
28 2 B ABB 7.44425
28 3 B ABB 8.54013
29 1 B BBA 7.88495
29 2 B BBA 7.75362
29 3 A BBA 8.41892
30 1 B BAB 7.77402
30 2 A BAB 7.51371
30 3 B BAB 7.58223
32 1 B BAB 6.65968
32 2 A BAB 7.83281
32 3 B BAB 7.51262
33 1 B BBA 8.56732
33 2 B BBA 7.80873
33 3 A BBA 8.3509
34 1 A ABB 7.54009
34 2 B ABB 6.45504
34 3 B ABB 6.57605
35 1 A ABB 7.79688
35 2 B ABB 6.75705
35 3 B ABB 7.25276
36 1 B BAB 7.1869
36 2 A BAB 7.44073
36 3 B BAB 6.91672
37 1 A ABB 7.5863
37 2 B ABB 7.55799
37 3 B ABB .
38 1 B BBA 6.31771
38 2 B BBA 7.26683
38 3 A BBA 7.75405
39 1 B BBA 6.16184
39 2 B BBA 6.46443
39 3 A BBA 7.03439
40 1 B BAB 7.13409
40 2 A BAB 7.96624
40 3 B BAB 7.98344
41 1 A ABB 7.01302
41 2 B ABB 6.85814
41 3 B ABB 6.62976
42 1 B BAB 7.3815
42 2 A BAB 7.99463
42 3 B BAB .
43 1 A ABB 7.18311
43 2 B ABB 7.73325
43 3 B ABB 7.89767
44 1 B BAB 7.0184
44 2 A BAB 8.05896
44 3 B BAB 7.17931
45 1 A ABB 9.11987
45 2 B ABB 7.19818
45 3 B ABB 8.53837
46 1 B BBA 6.67721
46 2 B BBA 6.49315
46 3 A BBA 7.24494
47 1 B BAB 8.87263
47 2 A BAB 8.0684
47 3 B BAB 8.88669
48 1 B BBA 6.97354
48 2 B BBA 7.29097
48 3 A BBA 8.34925
49 1 B BBA 7.65349
49 2 B BBA 7.50769
49 3 A BBA 7.67043
50 1 A ABB 7.46336
50 2 B ABB 6.73006
50 3 B ABB 7.18992
51 1 B BAB 6.25479
51 2 A BAB 6.85688
51 3 B BAB 6.89912
52 1 A ABB 7.35756
52 2 B ABB 7.10743
52 3 B ABB 7.73718
53 1 B BBA 7.99531
53 2 B BBA 8.69718
53 3 A BBA 8.28602
54 1 B BAB 8.0861
54 2 A BAB 7.16317
54 3 B BAB 8.05166
55 1 B BAB 7.68708
55 2 A BAB 8.15852
55 3 B BAB 6.85657
56 1 B BAB 6.68399
56 2 A BAB 8.06022
56 3 B BAB 6.18765
57 1 B BBA 7.03439
57 2 B BBA 7.82365
57 3 A BBA 7.2349
58 1 A ABB 7.43721
58 2 B ABB 7.00216
58 3 B ABB 7.23706
59 1 A ABB 9.03634
59 2 B ABB 7.32647
59 3 B ABB 8.18535
60 1 B BBA 5.92773
60 2 B BBA 5.96666
60 3 A BBA 6.29305
61 1 B BAB 7.84893
61 2 A BAB 8.31336
61 3 B BAB 7.97384
62 1 B BBA 8.92186
62 2 B BBA 8.86869
62 3 A BBA 8.62029
63 1 A ABB 7.52833
63 2 B ABB 7.43485
63 3 B ABB 7.44073
64 1 B BBA 7.64348
64 2 B BBA 7.87853
64 3 A BBA 7.2428
65 1 A ABB 8.33926
65 2 B ABB 7.46737
65 3 B ABB 7.74023
66 1 B BAB 6.80162
66 2 A BAB 7.12689
66 3 B BAB 7.83637
67 1 B BAB 6.37315
67 2 A BAB 7.85825
67 3 B BAB 6.90053
68 1 B BAB 6.59346
68 2 A BAB 7.20341
68 3 B BAB 6.81465
69 1 A ABB 6.84991
69 2 B ABB 6.32113
69 3 B ABB 6.50219
70 1 B BBA 6.58272
70 2 B BBA 8.0229
70 3 A BBA 7.6811
71 1 A ABB 8.0047
71 2 B ABB 6.86964
71 3 B ABB 7.24494
72 1 B BBA 8.69851
72 2 B BBA 8.88392
72 3 A BBA 7.96032
jag009
★★★

NJ,
2013-04-04 19:21
(4423 d 03:37 ago)

(edited on 2013-04-04 22:15)
@ Helmut
Posting: # 10346
Views: 9,657
 

 Confusing…

Helmut, here is the issue with Dlat analysis between mine and CRO's. The 2 GLM procedure output are different but the Ratio, 95% Upper Bound, SwRs are ok.:confused: However, my GLM procedure output for ilat analysis shows same results as those from the CRO.

My output.
scaled average BE - analysis of dlat for ln(Cmax)
The GLM Procedure
Dependent Variable: dlat_lcmax
Source          DF  Sum of Squares  Mean Square   F Value  Pr > F
Model            2    0.17972168     0.08986084    0.28    0.7588
Error           66   21.40250828     0.32428043
Corrected Total 68 21.58222996

R-Square Coeff Var  Root MSE  dlat_lcmax Mean
0.008327 -322.9433  0.569456    -0.176333

Source     DF   Type I SS     Mean Square  F Value  Pr > F
sequence   2    0.17972168    0.08986084    0.28    0.7588
Source     DF   Type III SS   Mean Square  F Value  Pr > F
sequence   2    0.17972168    0.08986084    0.28    0.7588

Theta   Within Subject   Within Subject   Pt Est.   95% Uppder
          Var of Ref      SD of Ref        (T/R)    Conf. Bnd
0.79669    0.16214         0.40267        150.848     0.15460


CRO output

scaled average BE - analysis of dlat for ln(Cmax)
The GLM Procedure
Dependent Variable: dlat_lcmax
Source            DF    Sum of Squares   Mean Square  F Value  Pr > F
Model              2      2.06868456      1.03434228    3.19   0.0476
Error             66     21.40251551      0.32428054
Corrected Total   68     23.47120008

R-Square  Coeff Var   Root MSE   dlat_lcmax Mean
0.088137  -933.9983   0.569456   -0.060970

Source   DF   Type I SS     Mean Square  F Value   Pr > F
SEQ      2    2.06868456    1.03434228     3.19    0.0476
Source   DF   Type III SS   Mean Square  F Value   Pr > F
SEQ      2    2.06868456    1.03434228     3.19    0.0476

Obs   RATIO   theta        y       boundy    sWR      critbound
1    150.848  0.79669  -0.12918 -0.099175   0.40267    0.15460
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2013-04-05 03:01
(4422 d 19:57 ago)

@ jag009
Posting: # 10348
Views: 9,487
 

 2nd opinion

Hi John,

❝ The 2 GLM procedure output are different but the Ratio, 95% Upper Bound, SwRs are ok. :confused: However, my GLM procedure output for ilat analysis shows same results as those from the CRO.


OK, lacking [image] that’s not my cup of tea. ;-)

I updated treatments and sequences in my Phoenix project (i.e., kept the full precision of your first dataset) and got:
pointest  1.5084845 
sWR       0.40266645 (CVWR 41.96%)
critbound 0.15460335
Bad luck. Reformulate since in the unscaled analysis the lower 90% CL of 134.02% > 125.00% – demonstrating bioinequivalence.

I would opt for your analysis. Like you I got an estimate for dlat of -0.17633358 and a residual SS of 21.402516. However, these values are not further used (only the residual variance 0.32428054).

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
jag009
★★★

NJ,
2013-04-05 17:24
(4422 d 05:34 ago)

@ Helmut
Posting: # 10353
Views: 9,467
 

 2nd opinion

Hi Helmut!

❝ Bad luck. Reformulate since in the unscaled analysis the lower 90% CL of 134.02% > 125.00% – demonstrating bioinequivalence.


Yes the study was a dud :-P I was trying to use the dataset and results to validate my SAS code. I already validated my code with another study but was trying to validate with this one again just to kill time. I didn't know I would end up with this turd from the CRO.

So my computation is correct then ;-)

I still don't understand why they didn't use the FDA sequence as is (1=TRR, 2=RTR, 3=RRT) instead of using their own (1=BAB, 2=ABB, 3=BBA). Oh well.

Thank v much for your help.

John

P.S. Did you have a good time with my professor laszlo Endrenyi during your last seminar/conference? Great guy.
d_labes
★★★

Berlin, Germany,
2013-04-05 13:04
(4422 d 09:54 ago)

@ jag009
Posting: # 10349
Views: 9,557
 

 3rd, 4th opinion

Dear John!

I have checked your results with a different coding approach avoiding all the bells and whistles with separating the values for Test and Ref., coding sequences numeric and getting the replicates by such monsters like
...
 if (seq=1 and per=3) or (seq=2 and per=3) or (seq=3 and per=2);
...

which depend naturally on the sequence numbering and is error prone.

Here my code, taking your first posted data:
Data John;
input subject period tmtAB $ seqABC $ logval;
datalines;
 1 1 B B 7.423568444
 1 2 A B 7.70210434
 1 3 B B 6.964135612
...
;
run;
* recode. not really necessary but common notation;
data john;
  set john;
  if tmtAB='A' then tmt='T';
  if tmtAB='B' then tmt='R';
  if seqABC='A' then sequence='TRR';
  if seqABC='B' then sequence='RTR';
  if seqABC='C' then sequence='RRT';
  if seqABC='A' then seq=1;
  if seqABC='B' then seq=2;
  if seqABC='C' then seq=3;
run;
* replicate no. this is the KEY step;
Proc sort data=john; by subject tmtAB period; run;
data john;
  set john;
  by subject tmtAB;
  if first.tmtAB then repl=1;
  else repl+1;
run;
data john;
  set john;
  tmtrepl=tmt||put(repl,1.);
run;
* make the wide form with columns T1 R1 R2;
Proc transpose data=john out=john_t;
  by subject sequence seq;
  var logval;
  id tmtrepl;
run;
* intra-subject contrasts;
Data john_t;
  set john_t;
* the only place to change in case of full replicate;
* use then TR=0.5*(T1+T2-R1-R2);

  TR=T1-0.5*(R1+R2);
  RR=R1-R2;
  * uncomment next line to get the CRO results;
  * if seq=2 then RR=-RR;
run;
* and now: trara-trara-tra-ra the ANOVA for R-R;
Title GLM analysis of R-R;
Proc GLM data=john_T;
  class sequence;
  model RR = sequence;
run; quit;


Output omitted. It is totally the same as your results :cool:.

Fortunately the mse's (=2*s2wR) are the same in both evaluations.
You can obtain the results of the CRO if you uncomment the statement in red above. It seems that the use of the progesterone code without considering the different numbering of the sequences has lead to such a calculation.
By luck this contrast doesn't change the mse because nobody will challenge you defining R-R as R2-R1 instead of the usual R1-R2.

The ANOVA for T-R (ilat in the progesterone guidance speak) is left as your homework :-D. Also the various 'ODS output' statements to save the necessary terms for calculating the linearized scaled ABE criterion and its 95% CI.

BTW: 4th opinion: An R implementation using the same spirit as the SAS code above gives
Analysis of Variance Table

Response: RR
          Df  Sum Sq Mean Sq F value Pr(>F)
sequence   2  0.1797 0.08986  0.2771 0.7588
Residuals 66 21.4025 0.32428

Regards,

Detlew
jag009
★★★

NJ,
2013-04-05 17:41
(4422 d 05:17 ago)

@ d_labes
Posting: # 10354
Views: 9,439
 

 3rd, 4th opinion

Thank you SAS Guru :-)

Glad to know that I am not the insane one. I can do the Ilat part of the code :-D
Question...

❝ RR=R1-R2;

* uncomment next line to get the CRO results;

* if seq=2 then RR=-RR;

»...

❝ You can obtain the results of the CRO if you uncomment the statement in red above. It seems that the use of the progesterone code without considering the different numbering of the sequences has lead to such a calculation.

❝ By luck this contrast doesn't change the mse because nobody will challenge you defining R-R as R2-R1 instead of the usual R1-R2.


The CRO's sequence assignment(I added the subscripts 1&2 here just for clarity):
#1=B1AB2
#2=AB1B2
#3=B1B2A

Why swap RR as -RR for sequence 2 if the logistic seems to indicate B1 is the 1st value and B2 is the 2nd value? It's 9AM here in US so I am not zipping EtOH.

Granted that the study was a dud and the outcome was not affected by that additional line of code in the SAS code...

Thanks
John
d_labes
★★★

Berlin, Germany,
2013-04-05 18:09
(4422 d 04:49 ago)

@ jag009
Posting: # 10356
Views: 9,397
 

 Beer swaped

Dear John!

❝ Why swap RR as -RR for sequence 2 if the logistic seems to indicate B1 is the 1st value and B2 is the 2nd value? It's 9AM here in US so I am not zipping EtOH.


No no. I'm nor suggesting any swap. The correct way is using R1-R2. I only had in mind to give you a hint where the differences came from.

Just leaving for an evening beer. Thank god it's friday.

Have a nice day.

Regards,

Detlew
jag009
★★★

NJ,
2013-04-05 19:18
(4422 d 03:40 ago)

@ d_labes
Posting: # 10357
Views: 9,426
 

 Beer swaped

Hi Detlew,

❝ No no. I'm nor suggesting any swap. The correct way is using R1-R2. I only had in mind to give you a hint where the differences came from.


Thanks for the detective work. Too bad I can't talk to the CRO to find out the real story... Yeah it's about 5 hr from now before our Absinthe gathering here, just kidding :cool:

John
UA Flag
Activity
 Admin contact
23,424 posts in 4,927 threads, 1,671 registered users;
98 visitors (0 registered, 98 guests [including 8 identified bots]).
Forum time: 22:59 CEST (Europe/Vienna)

Only dead fish go with the current.    Scuba divers' proverb

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