/* Data and SAS code for AL and NL */ /* Using SET to modify the data set */ DATA ALWINS; INPUT TEAM $ WINS BATAVG DIVISION $; CARDS; NY 87 .277 East Tor 83 .275 East Balt 74 .272 East Bos 85 .267 East TB 69 .257 East Clev 90 .288 Central Det 79 .275 Central Chic 95 .286 Central KC 77 .288 Central Minn 69 .270 Central Ana 82 .280 West Tex 71 .283 West Sea 91 .269 West Oak 91 .270 West ; DATA NLWINS; INPUT TEAM $ WINS BATAVG DIVISION $; CARDS; Atl 95 .271 East NYM 94 .263 East Fla 79 .262 East Mtl 67 .266 East Phil 65 .251 East STL 95 .270 Central CIN 85 .274 Central MIL 73 .246 Central HOU 72 .278 Central PIT 69 .267 Central CHCub 65 .256 Central SFG 97 .278 West LAD 86 .257 West ARI 85 .265 West COL 82 .294 West SDP 76 .254 West ; PROC SORT data=ALWINS; BY DIVISION; PROC SORT data=NLWINS; BY DIVISION; /* Creating a new data set with wins and losses */ DATA ALWNLOSS; SET ALWINS; IF TEAM IN ('NY', 'TB', 'Oak') THEN LOSSES=161-WINS; ELSE LOSSES=162-WINS; DROP BATAVG; run; proc print data=alwnloss noobs; VAR TEAM WINS LOSSES DIVISION; title 'Wins and Losses for AL Teams, 2000'; run; /* Stacking two data sets together: */ DATA ALL_MLB; SET ALWINS NLWINS; *SET ALWNLOSS NLWINS; *produces missing values in ALL_MLB for AL batting averages; IF TEAM IN ('NY', 'TB', 'Oak', 'Fla') THEN LOSSES=161-WINS; ELSE LOSSES=162-WINS; WINPCT = WINS/(WINS+LOSSES); WINPCT = ROUND(WINPCT, .001); run; proc print data=ALL_MLB noobs; VAR TEAM WINS LOSSES WINPCT BATAVG DIVISION; title 'All Major League Baseball Teams, 2000'; run; /* Interleaving two data sets: */ DATA ALL_MLB; SET ALWINS NLWINS; BY DIVISION; IF TEAM IN ('NY', 'TB', 'Oak', 'Fla') THEN LOSSES=161-WINS; ELSE LOSSES=162-WINS; WINPCT = WINS/(WINS+LOSSES); WINPCT = ROUND(WINPCT, .001); run; proc print data=ALL_MLB noobs; VAR TEAM WINS LOSSES WINPCT BATAVG DIVISION; title 'All Major League Baseball Teams, sorted by division'; run;