OPTIONS LINESIZE=70;
TITLE 'AGES OF BRITISH RULERS';
/* Create a sas data set with name and age of */
/* British ruler */
DATA RULERS;
/* @@ means a loop in reading input variable sequence */
INPUT NAME : & $16. AGE @@;
LABEL AGE ='AGE AT DEATH OF BRITISH RULER';
CARDS;
WILLIAM I 60 WILLIAM II 43 HENRY I 67
STEPHEN 50 HENRY II 56 RICHARD I 42
JOHN 50 HENRY III 65 EDWARD I 68
EDWARD II 43 EDWARD III 65 RICHARD II 34
HENRY IV 47 HENRY V 34 HENRY VI 49
EDWARD IV 41 EDWARD V 13 RICHARD III 35
HENRY VII 53 HENRY VIII 56 EDWARD VI 16
MARY I 43 ELIZABETH 69 JAMES I 59
CHARLES I 48 CROMWELL I 59 CROMWELL II 86
CHARLES II 55 JAMES II 68 WILLIAM III 51
MARY II 33 ANNE 49 GEORGE I 67
GEORGE II 77 GEORGE III 81 GEORGE IV 67
WILLIAM IV 71 VICTORIA 81 EDWARD VII 68
GEORGE V 70 EDWARD VIII 77 GEORGE VI 56
;
RUN;
/* Print the original input data */
PROC PRINT;
RUN;
/* Generate a Histogram of Ages */
PROC CHART;
VBAR AGE;
RUN;
/* Calculate Cumulative Percents */
PROC RANK DATA=RULERS PERCENT OUT=C;
VAR AGE;
RANKS CAGE;
RUN;
/* Calc. Cumulative Probability Plot of Age */
PROC PLOT NOLEGEND;
TITLE 'Cumulative Probability Plot';
PLOT AGE*CAGE='*';
FORMAT CAGE 5.1;
RUN;
/* Calc. Normal Scores */
PROC RANK DATA=RULERS NORMAL=BLOM OUT=R;
VAR AGE;
RANKS NAGE;
RUN;
/* Calc. Mean, STD and NObs */
PROC MEANS NOPRINT;
VAR AGE;
OUTPUT OUT=M MEAN=MEAN STD=STD;
RUN;
/* Merge the Mean with the Scores, create */
/* the reference points */
DATA;
SET M;
LOOP: SET R;
EAGE = MEAN + NAGE*STD;
OUTPUT; GOTO LOOP;
/* Generate Normal Probability Plot */
PROC PLOT NOLEGEND;
TITLE 'Normal Probability Plot';
PLOT AGE*NAGE='*' EAGE*NAGE='+' /OVERLAY;
RUN;
|