summary过程主要用来对数值变量计算单个变量的基本统计量,使用语句与means过程类似。默认时summary过程不打印输出计算结果。必须指定print选项才能输出计算结果。
语法格式: proc summary <选项><统计关键量>;
var 变量名1<变量名2>...;
by 变量名1<变量名2>...;
class 变量名1<变量名2>...;
freq<变量名>;
weight<变量名>
id 变量名1<变量名2>...;
output<out=数据集名><选项>;
run;
1)<选项>:常用选项如下:
data=:指定分析的数据集
maxdec=:输出小数点位数
missimg:要求遗漏数据最为class变量的下一个分组变量
print:指定打印输出到输出窗口
nway:不对class变量中的统计量计算输出
2)<统计关键量>:常用统计关键量如下:
n:有效观察值个数
nmiss:遗漏数据个数
mean:均值
std:标准差
min:最小值
max:最大值
range:极差
sum:观测值总和
var:样本方差s2
uss:总平方和
css:总离差平方和
stderr:均值的标准误
cv:变异系数s/mean
T:t检验H0:均值=0 prt–t检验显著性
例子:
data students;
input group age height weight sex $;
cards;
2 35 162 42 f
1 31 173 43 m
2 42 156 56 f
1 53 152 39 f
1 42 173 63 m
1 28 165 55 f
2 33 157 66 f
2 17 162 46 f
1 16 173 45 m
1 25 180 66 m
;
run;
/*使用sort过程首先对数据集排序*/
proc sort data = students;
by group;
/*调用summary过程*/
proc summary data = students mean std n max min range stderr cv;/*指定统计关键量*/
var age height weight;/*指定分析变量*/
class sex;/*指定分类变量产生三类 空、f和m */
by group;/*指定分组变量 费为两类1和2,一共为6类 即 1-NA、2-NA、1-f、1-m、2-f、2-m分类*/
output out = stu_analy;
proc print data=stu_analy;
run;
结果如下图: