%include catdata(vision); data women; set women; if left=right then do; diag=left; symmetry=-left; end; else do; diag=0; symmetry = abs(left-right); end; proc print; run; title 'Independence model (women)'; proc genmod data=women; class Right Left; model Count = Left Right / dist=poisson link=log obstats residuals type3 ; ods exclude obstats; ods output obstats=obstats; run; %mosaic(data=obstats, vorder=Right Left, split=H V, htext=1.9, resid=reschi, title=%str(Independence, G2(9)=6671.5)); title 'Quasi-independence model (women)'; proc genmod data=women; class Right Left diag; model Count = Left Right diag / dist=poisson link=log obstats residuals type3 ; ods exclude obstats; ods output obstats=obstats; run; %mosaic(data=obstats, vorder=Right Left, split=H V, htext=1.9, resid=reschi, title=%str(Quasi-Independence, G2(5)=199.1)); title 'Symmetry model (women)'; proc genmod data=women; class Left Right symmetry; model Count = symmetry / dist=poisson link=log obstats residuals type3 ; ods exclude obstats; ods output obstats=obstats; run; %mosaic(data=obstats, vorder=Right Left, split=H V, htext=1.9, resid=reschi, title=%str(Symmetry, G2(6)=19.25)); title 'Quasi-Symmetry model (women)'; proc genmod data=women; class Right Left symmetry; model Count = Left Right symmetry / dist=poisson link=log obstats residuals type3 ; ods exclude obstats; ods output obstats=obstats; run; %mosaic(data=obstats, vorder=Right Left, split=H V, htext=1.9, resid=reschi, title=%str(Quasi-Symmetry, G2(3)=7.27)); *-- How to test for marginal homogeneity; proc catmod data=women; weight count; response marginals; model right*left=_response_ / freq; repeated side 2; title 'Test of Marginal Homogeneity'; quit;