Jane, This link points to pages in the text Generalized Linear Mixed Models... by Walt Stroup. http://tinyurl.com/q44spl5 Example 13.2 addresses a generalized logit using GLIMMIX and the ESTIMATE statement, which has suggested in one of his comments above. Example 13.1 on pp 401-404 addresses the cumulative logit. I haven't been able to trick Google books into showing those pages. But if you go to the CRC Press page for Generalized Linear Mixed Models: Modern Concepts, Methods and Applications - CRC Press Book and click Downloads/Updates, unzip, and look in the "All Examples by Chapter" folder and Ch_13 subfolder, you'll find code (including the data) using GLIMMIX in the "Data_Set_13_1_with_individual_datalines.sas" file for both the clogit and glogit models. I haven't worked much with multinomial models (especially mixed) but here's my stab at post-hoc pairwise comparisons among TRTs (simple effect comparisons), starting with Walt's example: proc glimmix data=indiv_data_multinom; class blk trt; model rating=trt/dist=multinomial solution oddsratio; random intercept / subject=blk solution; /* Predicted values for each rating in each TRT, the inverse-link value for c=2 is 1-(c0 + c1) */ estimate 'c=0, t=0' intercept 1 0 trt 1 0 , 'c=1, t=0' intercept 0 1 trt 1 0, 'c=0, t=1' intercept 1 0 trt 0 1 0, 'c=1, t=1' intercept 0 1 trt 0 1 0, 'c=0, t=2' intercept 1 0 trt 0 0 1 0, 'c=1, t=2' intercept 0 1 trt 0 0 1 0, 'c=0, t=3' intercept 1 0 trt 0 0 0 1 0, 'c=1, t=3' intercept 0 1 trt 0 0 0 1 0, 'c=0, t=4' intercept 1 0 trt 0 0 0 0 1 0, 'c=1, t=4' intercept 0 1 trt 0 0 0 0 1 0, 'c=0, t=5' intercept 1 0 trt 0 0 0 0 0 1, 'c=1, t=5' intercept 0 1 trt 0 0 0 0 0 1 / ilink bycat; /* Pairwise comparisons among TRTs with adjusted p-values */ estimate 't=0 == t=1' trt 1 -1 0 0 0 0, 't=0 == t=2' trt 1 0 -1 0 0 0, 't=0 == t=3' trt 1 0 0 -1 0 0, 't=0 == t=4' trt 1 0 0 0 -1 0, 't=0 == t=5' trt 1 0 0 0 0 -1, 't=1 == t=2' trt 0 1 -1 0 0 0, 't=1 == t=3' trt 0 1 0 -1 0 0, 't=1 == t=4' trt 0 1 0 0 -1 0, 't=1 == t=5' trt 0 1 0 0 0 -1, 't=2 == t=3' trt 0 0 1 -1 0 0, 't=2 == t=4' trt 0 0 1 0 -1 0, 't=2 == t=5' trt 0 0 1 0 0 -1, 't=3 == t=4' trt 0 0 0 1 -1 0, 't=3 == t=5' trt 0 0 0 1 0 -1, 't=4 == t=5' trt 0 0 0 0 1 -1 / adjust=simulate(seed=12345) adjdfe=row; run; With a lot more thought and a lot more coding, you could work up pertinent contrasts involving two factors (e.g., ses and question). The task would be easier in the absence of significant interactions HTH, Susan
... View more