options nocenter nodate; data one; input city $ rate y; cards; A 0.5 26.4 A 0.5 23.5 A 0.5 25.4 A 0.5 22.9 A 1.0 25.2 A 1.0 39.2 A 1.0 25.5 A 1.0 31.9 A 1.5 26.0 A 1.5 44.6 A 1.5 35.5 A 1.5 38.6 B 0.5 30.1 B 0.5 31.0 B 0.5 30.8 B 0.5 32.8 B 1.0 47.7 B 1.0 39.1 B 1.0 55.3 B 1.0 50.7 B 1.5 73.8 B 1.5 71.1 B 1.5 68.4 B 1.5 77.1 C 0.5 19.4 C 0.5 19.3 C 0.5 18.7 C 0.5 19.0 C 1.0 23.2 C 1.0 21.3 C 1.0 23.2 C 1.0 19.9 C 1.5 18.9 C 1.5 19.8 C 1.5 19.6 C 1.5 21.9 ; proc glm; class city rate; model y=city rate city*rate; run; proc glm; class city; model y=city rate rate*rate city*rate city*rate*rate; run; proc glm; class city; model y=city rate city*rate / solution clparm; estimate 'Intercept for City A' intercept 1 city 1 0 0; estimate 'Intercept for City B' intercept 1 city 0 1 0; estimate 'Intercept for City C' intercept 1 city 0 0 1; estimate 'Slope for City A' rate 1 city*rate 1 0 0; estimate 'Slope for City B' rate 1 city*rate 0 1 0; estimate 'Slope for City C' rate 1 city*rate 0 0 1; estimate 'Est. Mean for rate=1.25 City=A' intercept 1 city 1 0 0 rate 1.25 city*rate 1.25 0 0; estimate 'Est. Mean for rate=1.5 City=A' intercept 1 city 1 0 0 rate 1.5 city*rate 1.5 0 0; estimate 'Est. Mean for rate=1.5 City=B' intercept 1 city 0 1 0 rate 1.5 city*rate 0 1.5 0; estimate 'City B - City A at rate=1.5' city -1 1 0 city*rate -1.5 1.5 0; run;