FILENAME goptions URL "http://192.38.117.59/~linearpredictors/datafiles/goptions.sas"; %INCLUDE goptions; FILENAME url URL "http://192.38.117.59/~linearpredictors/datafiles/readBirthWeight.sas"; %INCLUDE url; /************************************************* NOTE: At least one of the regression lines of Fig. 5.2.7 is erroneous. The correct ones are produced by this program ********************************************/ DATA secher; SET secher; log10bw=log10(bw); log10bpd=log10(bpd); log10ad=log10(ad); if ad<95 then ad_group='< 95 '; if 95<=ad<105 then ad_group='95-105'; if 105<=ad then ad_group='>105'; if ad<0 then ad_group=.; RUN; proc means N min max; class ad_group; var ad; run; title1 'Test for interaction'; PROC GLM DATA=secher; CLASS ad_group; MODEL log10bw = ad_group log10bpd ad_group*log10bpd / SOLUTION; RUN; title1 'Estimation of separate slopes'; PROC GLM DATA=secher; CLASS ad_group; MODEL log10bw = ad_group ad_group*log10bpd / NOINT SOLUTION; ESTIMATE 'level at log10bpd=1.8, ad<95' ad_group 1 0 0 ad_group*log10bpd 1.8 0 0; ESTIMATE 'level at log10bpd=1.8, 95105' ad_group 0 0 1 ad_group*log10bpd 0 0 1.8; RUN; title1 'Note: Error in Fig. 5.2.7, see note in program'; PROC GPLOT DATA=secher; PLOT log10bw*log10bpd=ad_group / HAXIS=AXIS1 VAXIS=AXIS2; AXIS1 MINOR=NONE LABEL=('log10(Biparietal diameter)') OFFSET = (5 pct); AXIS2 MINOR=NONE LABEL=(A=90 'Linear predictor'); SYMBOL1 VALUE=NONE INTERPOL=rl CV=BLACK CI=black L=1; SYMBOL2 VALUE=NONE INTERPOL=rl CV=BLACK CI=red L=2; SYMBOL3 VALUE=NONE INTERPOL=rl CV=BLACK CI=blue L=3; RUN; QUIT;