第4章 SAS过程步与过程步语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章SAS过程步与过程步语句
摘要:本章讲授过程步一般形式,SAS过程步产用常用语句,程序设计中通用的SAS语句,学习过程步常用有关语句功能及其用法。为后面统计分析过程的调用作好准备。
SAS过程步用来调用系统提供的标准常用过程或统计分析过程,对指定的SAS 数据集进行处理,并将分析结果显示输出到OUTPUT窗口。一个过程步是一个功能程序模块,调用不同的过程可实现用不同方法对数据进行分析。
§4.1 SAS过程步的一般形式
通常,SAS过程步的一般形式为:
PROC 过程名选择项;
[其他相关过程步语句;]
RUN;
说明:
1.ROC表示一个过程的开始;“过程名”可以是后面各章节将要介绍的常用过程名或统计过程名。不同的过程有不同的专用SAS名,而且各有
一些可供选择的选择项(参数),对于同一过程,给定不同的参数,输
出不同的计算结果和不同表格形式。
2.选项:选择项一般以关键字为核心构成,常用下面三种形式:
①关键字在过程中,一个关键字代表该过程的某一特性,若关键字作为选项出现,则过程处理数据或输出结果时,这一特性予以考虑。否则,忽略这一特性。
②关键字=值过程的某一特性可取不同的值,则指定该特性的书写格式为:
特性关键字=特性值(数字或字符串)。
③关键字=SAS数据集有些过程需要特定的输入数据集,有些过程可以建立一些特殊的数据集。过程指定特别输入输出数据集的选项书写格式为:
关键字=数据集名
该形式规定输入或输出的数据集,最常用的是DATA=数据集,指出本过程要处理的数据集名称,若缺省,则使用最新建立的数据集。如“PROC PRINT DATA=new;”。
3.其他相关过程步语句:有VAR、ID、BY、CLASS、WEIGHT等过程步语句,将在下一节中讲述。
4.RUN的作用是通知系统开始执行本过程程序段,当一个程序文件中有几个过程时,它们可共用一个RUN语句。
5.常用的过程步名称及功能:
SAS程序中涉及的过程多达数百种,实现统计功能时常用的过程也有数十种之多,现将最为常用的过程名称及其所能实现的功能列入下表(表4.1),以便各位提前热热身。
表4.1 常用的过程名称及其功能
§4.2 常用过程步语句
本节介绍的语句是为某些过程进一步提供数据处理信息的,对一个特定的语句,可能有些过程需要它,而有些过程中不能出现,在有关的过程章节中予以说明。
一、VAR语句
1.功能:用于列出将参与运算处理的分析变量,各变量名间以空格分隔。若省略VAR语句,则所有的数值型变量都参与处理。
2.格式:VAR 变量表;
其中,变量是一个数据集变量,变量表是是用空格分隔的输入数据集中的一些
变量名,出现在变量表中的数据集变量参与过程的数据分析处理,而未出现的变量将不参与运算。
例如:
DATA new;
INPUT x y@@;
CARDS;
10 20 11 12 PROC MEANS;
VAR x;
RUN; 输出结果:
Analysis Variable : X
N Mean Std Dev Minimum Maximum 7 13.0000000 2.1602469 10.0000000 16.0000000
二、ID语句
1.功能:指定用于区分不同观测的变量。
2.格式:ID 变量;
其中,变量是一个数据集变量,通常称为“标识变量”,不同的观测中该变量的值不同,某些过程的输出结果与观测有关,ID语句指定的变量值用于区分不同观测;如果ID语句省略,则用观测的序号来区分不同的观测。
例如:data;
input name$ sex$ age;
cards;
aa f 34
ab f 25
ba m 56
bb m 21
proc print;
id name;
run;
三、BY语句
1.功能:过程步将数据集数据按指定的变量以升序进行分组处理。
2.格式:BY 变量表;
INPUT 变量表;
例如:将学生的成绩输入,作为一个数据集,再用班级进行分组。
data student;
input bj$ xm$ yy gs;
p=yy+gs;
cards;
1 aaa 89 91
2 bbb 70 88
1 ccc 90 92
2 ddd 70 87
2 eee 85 83
proc print;
proc sort;
by bj gs;
proc print;
run;
四、CLASS语句
1.功能:指定分类变量。在一些分组统计过程中,要对数据进行分类处理,用该语句给出分类的依据变量名,进行各种组合处理。
2.格式:CLASS 变量表;
CLASS语句的作用类似于BY语句,但BY语句要求先排序,另外二者之间的输出格式也不同。
五、FREQ语句
1.功能:指定一个数值变量,它的值表示工作数据集中观察值重复出现的频数。若此变量不是一个整数,SAS会截去小数部分,只取其整数部分。该变量通常称作频数变量,该语句也叫频数变量标识语句。
2.格式:FREQ 变量;
在某些试验中,同一观测值多次出现,这样在数据集中增加1个变量,用来记录每一观测出现的次数。用FREQ语句可减少数据输入,加快计算。
例如:
DATA height;
INPUT height number@@;
CARDS;
75 20 76 23 77 28 78 38 79 52
80 40 81 32 83 28 84 23 85 16
PROC MEANS;
VAR height;
FREQ number;
RUN;
六、WEIGHT语句
1.功能:在有些试验中的某一变量(列)的值表示所在观测(行)的相关权重,该变量必须用WEIGHT语句来说明。