/* fitness.sas */ options ls=72 ps=60; data fitness; infile 'fitness.dat'; input y x1 x2 x3 x4 x5 x6; /* y = oxygen x1 = age x2 = weight x3 = runtime x4 = restpulse x5 = runpulse x6 = maxpulse */ proc print; title 'fitness data'; proc plot data=fitness; plot y*x1 y*x2 y*x3 y*x4 y*x5 y*x6 x1*x2 x1*x3 x1*x4 x1*x5 x1*x6 x2*x3 x2*x4 x2*x5 x2*x6 x3*x4 x3*x5 x3*x6 x4*x5 x4*x6 x5*x6; proc reg data=fitness; model y = x1-x6; output out=fullfit p=yhat r=resid; title 'full model with all variables'; proc plot data=fullfit; plot resid*yhat / vref=0; proc reg data=fitness; model y = x1-x6 / selection=rsquare adjrsq cp aic sbc details; title 'all possible regressions'; proc reg data=fitness; model y = /noprint; output out=new0 press=pressresid; model y = x1 /noprint; output out=new1 press=pressresid; model y = x2 /noprint; output out=new2 press=pressresid; model y = x3 /noprint; output out=new3 press=pressresid; model y = x4 /noprint; output out=new4 press=pressresid; model y = x5 /noprint; output out=new5 press=pressresid; model y = x6 /noprint; output out=new6 press=pressresid; model y = x1 x2 /noprint; output out=new12 press=pressresid; model y = x1 x3 /noprint; output out=new13 press=pressresid; model y = x1 x4 /noprint; output out=new14 press=pressresid; model y = x1 x5 /noprint; output out=new15 press=pressresid; model y = x1 x6 /noprint; output out=new16 press=pressresid; model y = x2 x3 /noprint; output out=new23 press=pressresid; model y = x2 x4 /noprint; output out=new24 press=pressresid; model y = x2 x5 /noprint; output out=new25 press=pressresid; model y = x2 x6 /noprint; output out=new26 press=pressresid; model y = x3 x4 /noprint; output out=new34 press=pressresid; model y = x3 x5 /noprint; output out=new35 press=pressresid; model y = x3 x6 /noprint; output out=new36 press=pressresid; model y = x4 x5 /noprint; output out=new45 press=pressresid; model y = x4 x6 /noprint; output out=new46 press=pressresid; model y = x5 x6 /noprint; output out=new56 press=pressresid; model y = x1 x2 x3 /noprint; output out=new123 press=pressresid; model y = x1 x2 x4 /noprint; output out=new124 press=pressresid; model y = x1 x2 x5 /noprint; output out=new125 press=pressresid; model y = x1 x2 x6 /noprint; output out=new126 press=pressresid; model y = x1 x3 x4 /noprint; output out=new134 press=pressresid; model y = x1 x3 x5 /noprint; output out=new135 press=pressresid; model y = x1 x3 x6 /noprint; output out=new136 press=pressresid; model y = x1 x4 x5 /noprint; output out=new145 press=pressresid; model y = x1 x4 x6 /noprint; output out=new146 press=pressresid; model y = x1 x5 x6 /noprint; output out=new156 press=pressresid; model y = x2 x3 x4 /noprint; output out=new234 press=pressresid; model y = x2 x3 x5 /noprint; output out=new235 press=pressresid; model y = x2 x3 x6 /noprint; output out=new236 press=pressresid; model y = x2 x4 x5 /noprint; output out=new245 press=pressresid; model y = x2 x4 x6 /noprint; output out=new246 press=pressresid; model y = x2 x5 x6 /noprint; output out=new256 press=pressresid; model y = x3 x4 x5 /noprint; output out=new345 press=pressresid; model y = x3 x4 x6 /noprint; output out=new346 press=pressresid; model y = x3 x5 x6 /noprint; output out=new356 press=pressresid; model y = x4 x5 x6 /noprint; output out=new456 press=pressresid; model y = x1 x2 x3 x4 /noprint; output out=new1234 press=pressresid; model y = x1 x2 x3 x5 /noprint; output out=new1235 press=pressresid; model y = x1 x2 x3 x6 /noprint; output out=new1236 press=pressresid; model y = x1 x2 x4 x5 /noprint; output out=new1245 press=pressresid; model y = x1 x2 x4 x6 /noprint; output out=new1246 press=pressresid; model y = x1 x2 x5 x6 /noprint; output out=new1256 press=pressresid; model y = x1 x3 x4 x5 /noprint; output out=new1345 press=pressresid; model y = x1 x3 x4 x6 /noprint; output out=new1346 press=pressresid; model y = x1 x3 x5 x6 /noprint; output out=new1356 press=pressresid; model y = x1 x4 x5 x6 /noprint; output out=new1456 press=pressresid; model y = x2 x3 x4 x5 /noprint; output out=new2345 press=pressresid; model y = x2 x3 x4 x6 /noprint; output out=new2346 press=pressresid; model y = x2 x3 x5 x6 /noprint; output out=new2356 press=pressresid; model y = x2 x4 x5 x6 /noprint; output out=new2456 press=pressresid; model y = x3 x4 x5 x6 /noprint; output out=new3456 press=pressresid; model y = x1 x2 x3 x4 x5 /noprint; output out=new12345 press=pressresid; model y = x1 x2 x3 x4 x6 /noprint; output out=new12346 press=pressresid; model y = x1 x2 x3 x5 x6 /noprint; output out=new12356 press=pressresid; model y = x1 x2 x4 x5 x6 /noprint; output out=new12456 press=pressresid; model y = x1 x3 x4 x5 x6 /noprint; output out=new13456 press=pressresid; model y = x2 x3 x4 x5 x6 /noprint; output out=new23456 press=pressresid; model y = x1 x2 x3 x4 x5 x6 /noprint; output out=new123456 press=pressresid; proc means data=new0 noprint; var pressresid; output out=new0a uss=press; proc means data=new1 noprint; var pressresid; output out=new1a uss=press; proc means data=new2 noprint; var pressresid; output out=new2a uss=press; proc means data=new3 noprint; var pressresid; output out=new3a uss=press; proc means data=new4 noprint; var pressresid; output out=new4a uss=press; proc means data=new5 noprint; var pressresid; output out=new5a uss=press; proc means data=new6 noprint; var pressresid; output out=new6a uss=press; proc means data=new12 noprint; var pressresid; output out=new12a uss=press; proc means data=new13 noprint; var pressresid; output out=new13a uss=press; proc means data=new14 noprint; var pressresid; output out=new14a uss=press; proc means data=new15 noprint; var pressresid; output out=new15a uss=press; proc means data=new16 noprint; var pressresid; output out=new16a uss=press; proc means data=new23 noprint; var pressresid; output out=new23a uss=press; proc means data=new24 noprint; var pressresid; output out=new24a uss=press; proc means data=new25 noprint; var pressresid; output out=new25a uss=press; proc means data=new26 noprint; var pressresid; output out=new26a uss=press; proc means data=new34 noprint; var pressresid; output out=new34a uss=press; proc means data=new35 noprint; var pressresid; output out=new35a uss=press; proc means data=new36 noprint; var pressresid; output out=new36a uss=press; proc means data=new45 noprint; var pressresid; output out=new45a uss=press; proc means data=new46 noprint; var pressresid; output out=new46a uss=press; proc means data=new56 noprint; var pressresid; output out=new56a uss=press; proc means data=new123 noprint; var pressresid; output out=new123a uss=press; proc means data=new124 noprint; var pressresid; output out=new124a uss=press; proc means data=new125 noprint; var pressresid; output out=new125a uss=press; proc means data=new126 noprint; var pressresid; output out=new126a uss=press; proc means data=new134 noprint; var pressresid; output out=new134a uss=press; proc means data=new135 noprint; var pressresid; output out=new135a uss=press; proc means data=new136 noprint; var pressresid; output out=new136a uss=press; proc means data=new145 noprint; var pressresid; output out=new145a uss=press; proc means data=new146 noprint; var pressresid; output out=new146a uss=press; proc means data=new156 noprint; var pressresid; output out=new156a uss=press; proc means data=new234 noprint; var pressresid; output out=new234a uss=press; proc means data=new235 noprint; var pressresid; output out=new235a uss=press; proc means data=new236 noprint; var pressresid; output out=new236a uss=press; proc means data=new245 noprint; var pressresid; output out=new245a uss=press; proc means data=new246 noprint; var pressresid; output out=new246a uss=press; proc means data=new256 noprint; var pressresid; output out=new256a uss=press; proc means data=new345 noprint; var pressresid; output out=new345a uss=press; proc means data=new346 noprint; var pressresid; output out=new346a uss=press; proc means data=new356 noprint; var pressresid; output out=new356a uss=press; proc means data=new456 noprint; var pressresid; output out=new456a uss=press; proc means data=new1234 noprint; var pressresid; output out=new1234a uss=press; proc means data=new1235 noprint; var pressresid; output out=new1235a uss=press; proc means data=new1236 noprint; var pressresid; output out=new1236a uss=press; proc means data=new1245 noprint; var pressresid; output out=new1245a uss=press; proc means data=new1246 noprint; var pressresid; output out=new1246a uss=press; proc means data=new1256 noprint; var pressresid; output out=new1256a uss=press; proc means data=new1345 noprint; var pressresid; output out=new1345a uss=press; proc means data=new1346 noprint; var pressresid; output out=new1346a uss=press; proc means data=new1356 noprint; var pressresid; output out=new1356a uss=press; proc means data=new1456 noprint; var pressresid; output out=new1456a uss=press; proc means data=new2345 noprint; var pressresid; output out=new2345a uss=press; proc means data=new2346 noprint; var pressresid; output out=new2346a uss=press; proc means data=new2356 noprint; var pressresid; output out=new2356a uss=press; proc means data=new2456 noprint; var pressresid; output out=new2456a uss=press; proc means data=new3456 noprint; var pressresid; output out=new3456a uss=press; proc means data=new12345 noprint; var pressresid; output out=new12345a uss=press; proc means data=new12346 noprint; var pressresid; output out=new12346a uss=press; proc means data=new12356 noprint; var pressresid; output out=new12356a uss=press; proc means data=new12456 noprint; var pressresid; output out=new12456a uss=press; proc means data=new13456 noprint; var pressresid; output out=new13456a uss=press; proc means data=new23456 noprint; var pressresid; output out=new23456a uss=press; proc means data=new123456 noprint; var pressresid; output out=new123456a uss=press; data press1; set new0a new1a new2a new3a new4a new5a new6a new12a new13a new14a new15a new16a new23a new24a new25a new26a new34a new35a new36a new45a new46a new56a new123a new124a new125a new126a new134a new135a new136a new145a new146a new156a new234a new235a new236a new245a new246a new256a new345a new346a new356a new456a new1234a new1235a new1236a new1245a new1246a new1256a new1345a new1346a new1356a new1456a new2345a new2346a new2356a new2456a new3456a new12345a new12346a new12356a new12456a new13456a new23456a new123456a; data labels; input model @@; cards; 0 1 2 3 4 5 6 12 13 14 15 16 23 24 25 26 34 35 36 45 46 56 123 124 125 126 134 135 136 145 146 156 234 235 236 245 246 256 345 346 356 456 1234 1235 1236 1245 1246 1256 1345 1346 1356 1456 2345 2346 2356 2456 3456 12345 12346 12356 12456 13456 23456 123456 ; data press2; merge labels press1; proc sort data=press2 out=press3; by press; proc print data=press3; var model press; title 'press selection'; run;