*-------------------Data on Physical Fitness-------------------*
| These measurements were made on men involved in a physical |
| fitness course at N.C.State Univ. The variables are Age |
| (years), Weight (kg), Oxygen intake rate (ml per kg body |
| weight per minute), time to run 1.5 miles (minutes), heart |
| rate while resting, heart rate while running (same time |
| Oxygen rate measured), and maximum heart rate recorded while |
| running. |
| ***Certain values of MaxPulse have been changed. |
*--------------------------------------------------------------*;
data fitness;
input Age Weight Oxygen RunTime RestPulse RunPulse MaxPulse;
datalines;
44 89.47 44.609 11.37 62 178 182
44 85.84 54.297 8.65 45 156 168
38 89.02 49.874 9.22 55 178 180
40 75.98 45.681 11.95 70 176 180
44 81.42 39.442 13.08 63 174 176
44 73.03 50.541 10.13 45 168 168
45 66.45 44.754 11.12 51 176 176
54 83.12 51.855 10.33 50 166 170
51 69.63 40.836 10.95 57 168 172
48 91.63 46.774 10.25 48 162 164
57 73.37 39.407 12.63 58 174 176
52 76.32 45.441 9.63 48 164 166
51 67.25 45.118 11.08 48 172 172
51 73.71 45.790 10.47 59 186 188
49 76.32 48.673 9.40 56 186 188
52 82.78 47.467 10.50 53 170 172
40 75.07 45.313 10.07 62 185 185
42 68.15 59.571 8.17 40 166 172
47 77.45 44.811 11.63 58 176 176
43 81.19 49.091 10.85 64 162 170
38 81.87 60.055 8.63 48 170 186
45 87.66 37.388 14.03 56 186 192
47 79.15 47.273 10.60 47 162 164
49 81.42 49.156 8.95 44 180 185
51 77.91 46.672 10.00 48 162 168
49 73.37 50.388 10.08 67 168 168
54 79.38 46.080 11.17 62 156 165
50 70.87 54.625 8.92 48 146 155
54 91.63 39.203 12.88 44 168 172
57 59.08 50.545 9.93 49 148 155
48 61.24 47.920 11.50 52 170 176
;
/*regression including all the independent variables, and perform hypotheses
testing about the coefficients or sub-models.*/
proc reg data=fitness;
model Oxygen=RunTime Age Weight RunPulse MaxPulse RestPulse/p r;
MaxRest: test MaxPulse, RestPulse;
WeiRest: test Weight, RestPulse;
run;
/*model selection using R^2 and Cp*/
proc reg data=fitness;
model Oxygen=RunTime Age Weight RunPulse MaxPulse RestPulse/selection=
rsquare cp;
title 'fitness data: all models';
run;
/*generate residual plots for the selected model*/
proc reg data=fitness;
model Oxygen=RunTime Age RunPulse MaxPulse/p r;
output out=fitresult p=pred r=resid;
run;
data a1;
do time=1 to 31 by 1;
output;
end;
run;
data a2;
merge fitresult a1;
run;
proc gplot data=a2;
plot resid*(pred RunTime Age RunPulse MaxPulse)/framce;
plot resid*time/haxis=0 to 32 by 1;
run;
/*generate normal probability plot*/
proc univariate data=a2;
var resid;
qqplot resid/normal(L=1 mu=est sigma=est);
run;
quit;