I am relatively new to performing glimmix procedures, and I am wanting to carry out a multinomial analysis for the following dataset, and perform a power analysis. I am receiving a syntax error shown below. I've attached my code for reference. any debugging would be appreciated! data idc;
input line $ seeding @@;
fields=15;
n=40;
do idc='none','mild','mod','sevr';
input p @@;
do field_id=1 to fields;
ptst=((n*p)/100);
mu=round(ptst,1.0);
output;
end;
end;
datalines;
S 25 5 17 25 53
S 50 8 13 32 48
S 150 14 22 19 45
R 25 8 60 21 11
R 50 15 64 14 7
R 150 18 70 6 6
;
proc print;
run;
proc glimmix data=idc;
class line seeding field_id;
freq mu;
model idc (order=data)=line|seeding/link=cumlogit htype=1,3 dist=multinomial s;
random intercept/field_id;
ods output tests3=a;
parms (.12)/hold=1;
estimate 'No IDC line=S seeding=25' intercept 1 line 0 1 seeding 1 0 0 line*seeding 0 0 0 1 0 0,
'No IDC line=S seeding=50' intercept 1 line 0 1 seeding 0 1 0 line*seeding 0 0 0 0 1 0,
'No IDC line=S seeding=150' intercept 1 line 0 1 seeding 0 0 1 line*seeding 0 0 0 0 0 1,
'No IDC line=R seeding=25' intercept 1 line 1 0 seeding 1 0 0 line*seeding 1 0 0 0 0 0,
'No IDC line=R seeding=50' intercept 1 line 1 0 seeding 0 1 0 line*seeding 0 1 0 0 0 0,
'No IDC line=R seeding=150' intercept 1 line 1 0 seeding 0 0 1 line*seeding 0 0 1 0 0 0,
/ ilink;
estimate 'No+Mild IDC line=S seeding=25' intercept 0 1 line 0 1 seeding 1 0 0 line*seeding 0 0 0 1 0 0,
'No+Mild IDC line=S seeding=50' intercept 0 1 line 0 1 seeding 0 1 0 line*seeding 0 0 0 0 1 0,
'No+Mild IDC line=S seeding=150' intercept 0 1 line 0 1 seeding 0 0 1 line*seeding 0 0 0 0 0 1,
'No+Mild IDC line=R seeding=25' intercept 0 1 line 1 0 seeding 1 0 0 line*seeding 1 0 0 0 0 0,
'No+Mild IDC line=R seeding=50' intercept 0 1 line 1 0 seeding 0 1 0 line*seeding 0 1 0 0 0 0,
'No+Mild IDC line=R seeding=150' intercept 0 1 line 1 0 seeding 0 0 1 line*seeding 0 0 1 0 0 0,
/ ilink;
estimate 'yg1+2+4 t=40' intercept 0 0 1 trt 1 0,
'yg1+2+4 t=80' intercept 0 0 1 trt 0 1 0,
'yg1+2+4 t=100' intercept 0 0 1 trt 0 0 1 0,
'yg1+2+4 t=120' intercept 0 0 1 trt 0 0 0 1 0,
'yg1+2+4 t=160' intercept 0 0 1 trt 0 0 0 0 1 / ilink;
estimate 'yg1+2+4+5 t=40' intercept 0 0 0 1 trt 1 0,
'yg1+2+4+5 t=80' intercept 0 0 0 1 trt 0 1 0,
'yg1+2+4+5 t=100' intercept 0 0 0 1 trt 0 0 1 0,
'yg1+2+4+5 t=120' intercept 0 0 0 1 trt 0 0 0 1 0,
'yg1+2+4+5 t=160' intercept 0 0 0 1 trt 0 0 0 0 1 / ilink;
run;
data power;
set a;
alpha=0.05;
fcrit=finv(1-alpha, numdf, dendf, 0);
power=1-probf(fcrit, numdf, dendf, numdf*fvalue);
run;
proc print;
run;
... View more