/************************************************ This command file shows how to read in raw data, import an Excel file, and carry out simple descriptive statistics and graphs. filename: descriptives_lecture.sas **************************************************/ OPTIONS FORMCHAR="|----|+|---+=|-/\<>*"; /*Read in Raw Data*/ data march; infile "marflt.dat"; input flight 1-3 @4 date mmddyy6. @10 time time5. orig $ 15-17 dest $ 18-20 @21 miles comma5. mail 26-29 freight 30-33 boarded 34-36 transfer 37-39 nonrev 40-42 deplane 43-45 capacity 46-48; format date mmddyy10. time time5. miles comma5.; label flight="Flight number" orig ="Origination City" dest ="Destination City"; run; /*Or Use the Import Wizard for Excel*/ PROC IMPORT OUT= WORK.march DATAFILE= "MARCH.XLS" DBMS=EXCEL REPLACE; SHEET="march"; GETNAMES=YES; MIXED=YES; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; /*Proc Print*/ proc print data = march; run; proc print data = march(obs=10); run; proc print data = march(firstobs=182 obs=185); run; proc print data=march; var date depart orig dest miles; run; proc print data=march; var date -- miles; run; /*Proc Contents*/ proc contents data=march; run; proc contents data=march varnum; run; /*Proc Means*/ proc means data=march; run; proc means data = march; var boarded transfer nonrev deplane; run; proc means data = march; var mail -- deplane; run; *Use the class statement; proc means data = march; class dest; run; proc means data = march; class date dest; run; *Specify a list of stats; proc means data = march n mean min max skewness kurtosis; var boarded transfer; run; proc means data = march n mean clm; var boarded transfer; run; proc means data = march n mean clm alpha=.01; var boarded transfer; run; /*Proc Freq*/ *oneway frequencies; proc freq data = march; tables date dest; run; *twoway cross-tabulations; libname sasdata2 "c:\temp\sasdata2"; proc freq data = sasdata2.business; tables industry * nation; run; proc freq data = sasdata2.business; tables industry * nation/ list; run; /*Proc Univariate*/ proc univariate data = march; var boarded; id dest; run; title "Proc Univariate Graphs"; proc univariate data = march plot; histogram; qqplot / normal(mu=est sigma=est); var boarded; run; *suppress output in output window; proc univariate data = march noprint; histogram; qqplot / normal(mu=est sigma=est); var boarded; run;