SAS如何汇总表格

标签:
杂谈 |
分类: SAS编程及应用 |
列表报告 (转载)
1. 基本用法
在过程内使用VAR语句可以指定要列出的变量并指定顺序。比如,
proc print data=c9501;
var name chinese math;
run;
在过程中使用WHERE语句可以从输入数据集中选一个子集来处理,在PRINT过程中使用WHERE可以指定只列出满足条件的观测。
2. SAS中对输出结果的管理
SAS的输出都显示在输出窗口。在运行了多个过程后,输出窗口积累了多个过程的输出,有时不易找到或特定的结果。新版本的SAS系统提供了一个结果管理窗口来管理输出,叫Results窗口。这个窗口缺省是打开的,固定放置在运行环境的左半部分,如果没有可以从"View - Results"菜单打开。
3.标题及全程语句
TITLE'标题内容'; 添加标题 ,为了取消这个标题,只要用一个空TITLE语句,即TITLE;
FOOTNOTE 添加脚注
OPTIONS 可以规定系统运行的一些选择项,比如输出是否每页有页号,是否有日期,输出的行宽,输出每一页的高度(行数)等等。
4. 计算总计与小计
http://img9.ph.126.net/ipIa__T6DWb0Ae9Pqw7Ptw==/1308014216791648109.jpg
http://img1.ph.126.net/skdaCIEHsGpT9bOZDqN7nw==/2519482516554310151.jpg
http://img8.ph.126.net/10_-RU6HmIWiDXRIbF_x3A==/2519482516554310168.jpg
汇总表格
PROC TABULATE DATA=数据集名;
CLASS 分类变量;
VAR 分析变量;
TABLE 页维说明,行维说明,列维说明/选项;
RUN;
其中CLASS语句给出分类变量,用分类变量可以给观测分类,计算统计量时可以对每一类分别计算。VAR语句给出区间变量。TABLE语句规定了绘制什么样的表格。我们用例子说明:
例1 对C950IBK数据集,我们希望表中绘出男、女生的课外书支出总和,
http://img1.ph.126.net/9ZfTnfLBCnyyZKt8pv1kwA==/654710795846208281.jpg
例2:用如下程序求男、女生的数学、语文成绩平均值及标准差:
http://img9.ph.126.net/H52855kjQKWiW5IcLYfvqQ==/1091559959701152349.jpg
上面的表格只分类计算了统计量值,如果要计算总的统计量值,只要加一个ALL关键字。table sex,all (math chinese)*(mean std);
可以在TABULATE过程中使用KEYLABEL语句指定各统计量的标签。其格式为KEYLABEL关键字='标签';或者用如下方式:
http://img2.ph.126.net/fKP5nI2g1oPO7Ruordqp-A==/1130403506487218562.jpg