登录
首页精彩阅读SAS学习笔记(7):SAS列表报告与汇总表格
SAS学习笔记(7):SAS列表报告与汇总表格
2015-10-22
收藏

SAS学习笔记(7):SAS列表报告与汇总表格


1. 基本用法

     PRINT过呈是最常用的SAS过呈之一。我们在生成了一个数据集之后,如果不是太大,一般都用一个proc print ;run;过程步来列出数据集的内容,这样可以检查变量与值之间对应是否正确,数据输入是否正确。为了列出一个指定的数据集,在PROC语句中使用DATA=选项指定要列表的输入数据集名。

在过程内使用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. 计算总计与小计

        用BY语句与SUM语句就可以既计算总和也计算分组小计。比如,我们除了要计算学生购买课外书总支出外还想分男、女生计算总支出,可以用下面的程序。注意由于数据集BKMONEY中没有性别的信息,我们用了带MERGE语句的数据步来横向合并C9501和BKMONEY两个数据集 。

3.3汇总表格

      PRINT过程可以制作列表,它列出所有观测。当观测个数很多时,这样的列表意义不大。TABULATE过程制表不是列出观测,而是计算观测的分类统计量,绘制统计量的表格。这对于数据的汇总比较有用。TABULATE可以作出很复杂的表,其一般格式为:

PROC TABULATE DATA=数据集名;

CLASS 分类变量;

VAR 分析变量;

TABLE 页维说明,行维说明,列维说明/选项;

RUN;

其中CLASS语句给出分类变量,用分类变量可以给观测分类,计算统计量时可以对每一类分别计算。VAR语句给出区间变量。TABLE语句规定了绘制什么样的表格。我们用例子说明:

例1 对C950IBK数据集,我们希望表中绘出男、女生的课外书支出总和,

 

 

 

 

 

 

 

 

 

 

 


     因为变量SEX和AMOUNT中间用逗号分隔,所以SEX在行维,表格的行用SEX的值区分,AMOUNT在列维,它画在列标题中。如果只是想统计男女生人数,可以只用SEX 一个变量。

        区间变量的缺省统计量是总和,分类变量的缺省统计量是频数。如果我们要计算其它统计量,可以用"变量名*统计量名"的形式。统计量名包括N,NMISS, MEAN, STD, MIN, MAX, RANGE, SUM, USS,CSS,STDERR,CV,T(检验均值为O的t统计量值),PRT(t统计量的p值),VAR,SUMWGT(权数变量的和),PCTN(某类观测占总观测个数的百分比),PCTSUM(某类观测的总和占全部总和的百分比)。

例2:用如下程序求男、女生的数学、语文成绩平均值及标准差:

上面的表格只分类计算了统计量值,如果要计算总的统计量值,只要加一个ALL关键字。table sex,all (math chinese)*(mean std);

可以在TABULATE过程中使用KEYLABEL语句指定各统计量的标签。其格式为KEYLABEL关键字='标签';或者用如下方式:

数据分析咨询请扫描二维码

客服在线
立即咨询