描述统计 means / freq
libname clinic 'D:sas'; proc means data=clinic.admit; run; *num变量自动计算mean,sd,max,min; proc means data=clinic.admit median range; *prco means data= statistic; run; proc means data=clinic.admit min maxdec=2; *最大的小数点为2; run; proc means data=clinic.admit ; var age height; *指定变量 or item1-item6; run; proc means data=clinic.admit ; var age height; class sex; *根据sex将数据分组,可以多个变量。该变量值必须是有限个个数,cha和num都可以; run; proc sort data=clinic.admit out=clinic.admitsort; by sex actlevel; run; proc means data=clinic.admitsort ; var height weight; by sex actlevel; *类似与class,但是需要提前sort; run; *输出; proc means data=clinic.admit noprint; *不打印上半部分; var age height; class sex; output out=work.data_gender mean = aveage aveheight; *输出 opt=libref.dataname mean=(输出均数),aveage=变量名; run; proc print data=work.data_gender; *print刚刚的输出; run;
proc freq data=clinic.admit2; *数据集中每一个分类变量的频数,百分比,累计频数,累计百分比; run; proc freq data=clinic.admit2; table paid location; *列出某些分类变量 or table item1-item4; run; proc freq data=clinic.admit2 ; table paid location /nocum; *不显示累计频数和累计百分比; run; proc freq data=clinic.admit2 ; tables paid*location; *crosstable ,cells contain 频数,total freq,row f,column f; run; *还可以是 a*b*c,a为level,b is row , c is column: *combine format; proc format; value wtfmt low-139='< 140' 140-180='140-180' 181-high='> 180'; value htfmt low-64='< 5''5"' 65-70='5''5-10"' 71-high='> 5''10"'; run; proc freq data=clinic.diabetes; tables weight*height; format weight wtfmt. height htfmt.; run; proc freq data=clinic.admit2 ; tables paid*location / crosslist; *check the different with no crosslist; run; proc freq data=clinic.admit2 ; tables paid*location / list; *more compact and clear run; proc freq data=clinic.admit2 ; tables paid*location / nofreq norow nocol; *suppress table; run;
proc means data=clinic.heart min max maxdec=1; var arterial heart cardiac urinary; class survive sex; run; proc summary data=clinic.diabetes; var age height weight; class sex; output out=work.sum_gender mean=AvgAge AvgHeight AvgWeight; run; proc freq data=clinic.heart order=freq; tables sex*survive*shock / nopercent list; run;