/* Job Satisfaction example with computation of dissimilarity index*/ options ls=80 nocenter nodate; data collar; input manager $ super $ worker $ count @@; datalines; bad low low 103 bad low high 87 bad high low 32 bad high high 42 good low low 59 good low high 109 good high low 78 good high high 205 ; proc sort; by manager; /* conditional independence (MS,MW) */ proc genmod order=data; class manager super worker; model count = manager super worker manager*super manager*worker /link=log dist=poi obstats; output out=predCI pred=mwmsCI; title 'Conditional Independence: (MS,MW)'; run; /* homogeneous associations */ proc genmod order=data data=collar ; class manager super worker; model count = manager super worker manager*super manager*worker worker*super /link=log dist=poi obstats; output out=predHA pred=mwmsHA; title 'Homogeneous Association: (MS,MW,SW)'; run; data all; merge predCI predHA; dCI=abs(count-mwmsCI)/(2*715); dHA=abs(count-mwmsHA)/(2*715); * Note that 715 is the sample size; run; proc corr; var count; with mwmsCI mwmsHA; title 'Correlation between observed and fitted: (MS,MW) & (MS,MW,SW)'; proc means sum; var count dCI dHA; title 'The dissimilarity indices for Blue Collar Worker Example'; run; ;