proc format; value jobfmt 0='No Training' 1='Job Training' 2='Job Placement'; value cityfmt 1='Atlanta' 4='Grand Rapids' 7='Riverside'; data a; set JOB.logistic; if job>0 and job<6 then employed=1; else employed=0; format treatment jobfmt. city cityfmt.; proc genmod descending; class treatment city; model employed=treatment/dist=bin link=logit type3 aggregate=(treatment city); run; proc genmod descending; class treatment city; model employed=treatment city/dist=bin link=logit type3 aggregate=(treatment city); run; proc genmod descending; class treatment city; model employed=city/dist=bin link=logit type3 aggregate=(treatment city); run; proc genmod descending; class treatment city; model employed=city treatment city*treatment/dist=bin link=logit type3 aggregate=(treatment city); run; proc freq; tables employed*treatment/chisq trend; /* chisq will provide us with the M^2 test statistic */ run;