* Read in the NFL teams data set; * arranged in columns; * Use OUTPUT to create multiple data sets; DATA original expansion merger; *infile 'z:\My Documents\teaching\stat_517\sas_nfl_data.txt' firstobs=2; FILENAME webpage URL 'http://people.stat.sc.edu/hitchcock/sas_nfl_data.txt'; INFILE webpage firstobs=2; INPUT teamname $22. @29 year_of_origin 29-32 @35 Origin_type :$16. Conference $ 52-59 @62 Division :$5. @69 Timezone :$8.; IF Origin_type = 'Original' THEN OUTPUT original; ELSE IF Origin_type = 'AAFC' OR Origin_type = 'AFL' THEN OUTPUT merger; ELSE OUTPUT expansion; run; proc print data=original; title 'Original Members'; proc print data=expansion; title 'Members via Expansion'; proc print data=merger; title 'Members via Merger with Another League'; RUN; /* Several observations from one with the OUTPUT statement */ data alwins_wide; *infile 'z:\My Documents\teaching\stat_517\baseball_data_wide.txt'; FILENAME webpage URL 'http://people.stat.sc.edu/hitchcock/baseball_data_wide.txt'; INFILE webpage; INPUT DIVISION $ @@; IF DIVISION NE 'West' THEN n=5; ELSE n=4; do i = 1 to n; INPUT TEAM $ WINS BATAVG @@; OUTPUT; end; drop i; drop n; run; PROC PRINT data=alwins_wide; title 'AL baseball data'; run; /* Generating function values with OUTPUT */ /* OUTPUT statement tells SAS to create an observation at each iteration of the loop */ DATA sinecurve; pi = constant('pi'); DO i = 1 to 16; x = (pi*i/4); y = sin(x); OUTPUT; END; proc print data = sinecurve; title; run; proc plot data = sinecurve; plot y*x; run; symbol1 i = join v=star l=32 c = black; PROC GPLOT DATA = sinecurve; PLOT y*x; RUN;