SABE - FDA code - The power to know [RSABE / ABEL]
Dear Jag!
To be more correct you got 3 rows in the dataset dglm1. One with Source="Model", one with source="Error" and one with source="Corrected Total". The latter has no value for MS ("Mean Square") and thus no value for s2WR in your data step of obtaining dglm1a and thus also no value for y and and boundy in the subsequent steps.
Yep.
Not for some reason but for the reason your code has told SAS to do so
.
Since you only need the MS of the error term thus code accordingly.
The progesterone guidance is here only cursory. Seems they presuppose some basic understanding what to do
.
Best choice (for me
) would be:
Or you could do it later on, f.i.:
Or even more later:
Its always a good habit in SAS programming not to rely on the implicit involved
BTW: We had this theme already in this thread.
❝ DGLM1 is where I have issue, I got 2 sets of (boundy and y), 1 set from MODEL and 1 set from ERROR.
To be more correct you got 3 rows in the dataset dglm1. One with Source="Model", one with source="Error" and one with source="Corrected Total". The latter has no value for MS ("Mean Square") and thus no value for s2WR in your data step of obtaining dglm1a and thus also no value for y and and boundy in the subsequent steps.
❝ The critbound computation should take (boundx, x) from IGLM2 and (boundy, y) from ERROR from DGLM1, correct?
Yep.
❝ For some reason SAS took (boundy, y) from MODEL from DGLM1 along with (boundx, x) from IGLM2. It should've taken (boundy, y) from ERROR from DGLM1.
Not for some reason but for the reason your code has told SAS to do so

Since you only need the MS of the error term thus code accordingly.
The progesterone guidance is here only cursory. Seems they presuppose some basic understanding what to do

Best choice (for me

...
proc glm data=scavbe;
class sequence;
model dlat=sequence;
ods output overallanova=dglm1(where=(Source="Error"));
ods output NObs=dglm3;
title1 'scaled average BE - analysis of dlat';
run;
...
Or you could do it later on, f.i.:
...
data dglm1a;
set dglm1;
dfd=df;
s2wr=ms/2;
where Source="Error";
run;
...
Or even more later:
...
data UCL;
merge iglm2a dglm1a(where=(Source="Error"));
...
Its always a good habit in SAS programming not to rely on the implicit involved
run;
but write it down explicitly.BTW: We had this theme already in this thread.
—
Regards,
Detlew
Regards,
Detlew
Complete thread:
- SABE - 3-WAY SAS Code (95% upper bound) from FDA jag009 2012-03-19 15:16
- SABE - FDA code - The power to knowd_labes 2012-03-20 11:51
- SABE - FDA code - The power to know jag009 2012-03-23 15:51
- SABE - FDA code - The power to knowd_labes 2012-03-20 11:51