Documentation Example 11 for PROC GLIMMIX
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: gmxex11 */
/* TITLE: Documentation Example 11 for PROC GLIMMIX */
/* Maximum Likelihood in Proportional Odds Model with */
/* Random Effects */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: Generalized linear mixed models */
/* Ordinal data */
/* Maximum likelihood */
/* Adaptive quadrature */
/* PROCS: GLIMMIX, SORT, SGPLOT */
/* DATA: */
/* */
/* SUPPORT: Oliver Schabenberger */
/* REF: */
/* MISC: */
/****************************************************************/
data foot_mv;
input yr b1 b2 b3 k1 k2 k3;
sire = _n_;
datalines;
1 1 0 0 52 25 0
1 1 0 0 49 17 1
1 1 0 0 50 13 1
1 1 0 0 42 9 0
1 1 0 0 74 15 0
1 1 0 0 54 8 0
1 1 0 0 96 12 0
1 -1 1 0 57 52 9
1 -1 1 0 55 27 5
1 -1 1 0 70 36 4
1 -1 1 0 70 37 3
1 -1 1 0 82 21 1
1 -1 1 0 75 19 0
1 -1 -1 0 17 12 10
1 -1 -1 0 13 23 3
1 -1 -1 0 21 17 3
-1 0 0 1 37 41 23
-1 0 0 1 47 24 12
-1 0 0 1 46 25 9
-1 0 0 1 79 32 11
-1 0 0 1 50 23 5
-1 0 0 1 63 18 8
-1 0 0 -1 30 20 9
-1 0 0 -1 31 33 3
-1 0 0 -1 28 18 4
-1 0 0 -1 42 27 4
-1 0 0 -1 35 22 2
-1 0 0 -1 33 18 3
-1 0 0 -1 35 17 4
-1 0 0 -1 26 13 2
-1 0 0 -1 37 15 2
-1 0 0 -1 36 14 1
-1 0 0 -1 63 20 3
-1 0 0 -1 41 8 1
;
data footshape; set foot_mv;
array k{3};
do Shape = 1 to 3;
count = k{Shape};
output;
end;
drop k:;
run;
proc glimmix data=footshape method=quad;
class sire;
model Shape = yr b1 b2 b3 / s link=cumprobit dist=multinomial;
random int / sub=sire s cl;
ods output Solutionr=solr;
freq count;
run;
ods select FitStatistics CovParms Covtests;
proc glimmix data=footshape method=quad;
class sire;
model Shape = yr b1 b2 b3 / link=cumprobit dist=multinomial;
random int / sub=sire;
covtest GLM;
freq count;
run;
proc sort data=solr;
by Estimate;
run;
data solr; set solr;
length sire $2;
obs = _n_;
sire = left(substr(Subject,6,2));
run;
proc sgplot data=solr;
scatter x=obs y=estimate /
markerchar = sire
yerrorupper = upper
yerrorlower = lower;
xaxis grid label='Sire Rank' values=(1 5 10 15 20 25 30);
yaxis grid label='Predicted Sire Effect';
run;