OPTIONS NODATE NONUMBER LS=72; **********************; ***** EXAMPLE #1 *****; **********************; DATA IN; INPUT F1 F2 YIELD @@; CARDS; 50 15 6.180 50 15 7.080 120 15 13.455 120 15 12.660 50 25 15.255 50 25 13.425 120 25 19.620 120 25 17.880 35.5 20 7.845 35.5 20 9.060 134.5 20 16.230 134.5 20 13.755 85 12.9 9.750 85 12.9 8.895 85 27.1 19.635 85 27.1 21.000 85 20 18.495 85 20 18.900 ; PROC RSREG DATA=IN OUT=DIAG ; MODEL YIELD = F1 F2 / LACKFIT PREDICT RESIDUAL; TITLE 'EXAMPLE 1 -- USING UNCODED DATA IN PROC RSREG'; DATA DIAG (DROP=_TYPE_ YIELD); SET DIAG; RETAIN PRED; IF _TYPE_='PREDICT' THEN PRED=YIELD; IF _TYPE_='RESIDUAL' THEN DO; RESID=YIELD; OUTPUT; END; PROC RANK DATA=DIAG NORMAL=BLOM OUT=NORMSET; VAR RESID; RANKS RANKRES; PROC PLOT DATA=NORMSET VPERCENT=50 HPERCENT=75; PLOT RANKRES*RESID / VREF=0; PROC PLOT DATA=DIAG VPERCENT=50 HPERCENT=75;; PLOT RESID*PRED / VREF=0; *** MAKING CONTOUR PLOTS ***; DATA IN; SET IN END=EOF; OUTPUT; IF EOF THEN DO; YIELD=.; DO F1=35 TO 135 BY 2.5; DO F2=13 TO 27 BY .5; OUTPUT; END; END; END; PROC RSREG DATA=IN OUT=CONT NOPRINT; MODEL YIELD = F1 F2 / PREDICT; DATA CONT; SET CONT; IF _N_ LE 18 THEN DELETE; PROC PLOT DATA=CONT; PLOT F2*F1=YIELD / CONTOUR=10; TITLE2 'CRUDE CONTOUR PLOT OF PREDICTED VALUES'; PROC GCONTOUR DATA=CONT; PLOT F2*F1=YIELD / LEVELS=-3 TO 24 BY 3; TITLE2 'BETTER CONTOUR PLOT OF PREDICTED VALUES'; PROC G3D DATA=CONT; PLOT F2*F1=YIELD / ROTATE=45; TITLE '3-D PLOT OF PREDICTED VALUES'; RUN;