/*Siskel and Ebert data for Cohen's kappa */ data critic; input siskel $ ebert $ count ; datalines; con con 24 con mixed 8 con pro 13 mixed con 8 mixed mixed 13 mixed pro 11 pro con 10 pro mixed 9 pro pro 64 ; run; proc freq; weight count; tables siskel*ebert / agree chisq; run; /* Loglinear models for dependent data*/ data critic; set critic; /* indicator variables for each diagonal cell*/ I11=0; if siskel='con' AND ebert='con' THEN I11=1; I22=0; if siskel='mixed' AND ebert='mixed' THEN I22=1; I33=0; if siskel='pro' AND ebert='pro' THEN I33=1; /* indicator variables for each off-diagonal cell*/ I12=0; if siskel='con' AND ebert='mixed' THEN I12=1; if siskel='mixed' AND ebert='con' THEN I12=1; I13=0; if siskel='con' AND ebert='pro' THEN I13=1; if siskel='pro' AND ebert='con' THEN I13=1; I23=0; if siskel='mixed' AND ebert='pro' THEN I23=1; if siskel='pro' AND ebert='mixed' THEN I23=1; ; run; /* independence */ proc genmod data=critic order=data; class siskel ebert; model count=siskel ebert / link=log dist=poisson lrci type3 obstats; title "Independence Model"; run; /* symmetry */ proc genmod data=critic order=data; model count=I11 I22 I33 I12 I13 I23 / link=log dist=poisson noint predicted; title "Symmetry Model"; run; /* quasi-symmetry */ proc genmod data=critic order=data; class siskel ebert; model count=siskel ebert I12 I13 I23 / link=log dist=poisson predicted; title "Quasi-Symmetry Model"; run;