第六章[SAS过程中常用语句]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 SAS过程中常用语句
要对数据进行分析和处理,需在过程中使用一些过程步语句和有关的选择项。本章介绍SAS过程步中通用语句,对有些过程步的专用语句和选择项将在后面各过程中介绍。
第一节 PROC语句
语句格式:
PROC
功能:指定所需调用的过程以及该过程的若干选择项。
PROC语句中有三种类型的选择项用于各过程步:
(1)关键字规定反映本过程特征的关键字。
(2)关键字=值规定初值,该值可是数字或字符串。
(3)关键字=SAS数据集规定输入或输出的数据集。最常用的是DATA一数据集,指出本过程所要处理的数据集名,如缺省则处理最新建立的数据集。
例PRINT过程,打印数据集AA的内容。
PROC PRINT DATA=A;
第二节 BY 语句
语句格式:
BY [DESCENDING] 变量… [NOTSORTED];
功能:以指定的变量值来分组处理某数据集。
BY语句总是首先与S0RT(分类)过程一起使用,以便定义数据排列次序。当BY语句在其它大多数对SAS数据集作分析的过程中使用时,能分别处理每一个分组(BY)的观测值。这里的变量是数据集中的用作分组的变量,以这个变量按指定要求排序(分类)。
选择项DESCENDING要求紧接的变量按降序排列数据集中各观测值,NOTSORTED要求进行分组时,各组不需按字母或数字顺序排序。例如:
BY DESCENDING AGE;
本语句按变量AGE(年龄)值对数据集进行降序排序。
假设有一数据集CLASS包含有变量DAY的观测值,DAY值是一周内某天的三个字符缩写形式(如,MON,TUE…)将数据集中具有相同DAY 值的观测值分为一组,DAY的值是按日历顺序而不是字母顺序排列的。下面的语句可以和一个PROC语句一起使用,按DAY分组处理数据集。 BY DAY NOTSORTED;
(不排序,但按指定变量值将同类放一起)
如DESCENDING和NOTSORTED都没指定,那么数据集中的观测值一定会按BY变量值的升序安排。
例下面程序对AA数据集按SEX变量值升序排列,并在同一SEX组内
对AGE值进行降序排列,并按SEX变量分组打印。
PROC SORT DATA=AA; (yp52.sas)
BY SEX DESCENDING AGE;
PROC PRINT;
BY SEX;
第三节 CLASS 语句
语句格式:
CLASS 变量表;
功能:定义分类变量。
分类变量只有少数的几个离散值或者不连续值,可以是字符型或数值型。在CLASS语句中,按指定变量的值进行分组。CLASS语句对计算统计的作用类似于BY语句。它们之间的不同是打印输出的格式,并且BY语句要求先排序。
第四节 VAR 语句
语句格式:
VAR 变量表;
功能:用于定义分析变量。
语句中变量为要作分析的数据集中的变量,任何有效的变量清单形式均可被使用。当该语句省略时,对所有变量做统计计算。
例下面语句按SEX值的分组对VAR所标识的H变量进行分析产生两个单独的描述性统计报告。
PROC MEANS DATA=AA;
BY SEX;
VAR H;
第五节 WEIGHT 语句
语句格式:
WEIGHT 变量;
功能:在过程中规定一个数值变量,并以它的值作为观测值的权重。
例:假设一个数据集包括了变量GROP(X,Y两组)、SEX(F为女,M 为男)和HRSWORK。下面程序产生一个表格,显示各组不同性别人所工作的时间数等等。
DATA GSH; (yp53.sas)
INPUT GROP $ SEX $ HRSWORK;
CARDS;
X F 5.8
Y F 6.4
X M 7.2
Y M 7.0
;
PROC FREQ;
TABLES GROP*SEX;
WEIGHT HRSWORK;
第六节 FREQ 语句
语句格式:
FREQ 变量;
功能:规定一个数值变量,它的值表示工作数据集中观测值出现的频数。
假定某观测值的FREQ变量值为n,则在分析时,数据集中的该观测值被视作出现的频数为n。当n DATA A; (yp54.sas) INPUT SEX $ AGE NUMBER; CARDS; F 20 10 F 22 23 M 21 19 M 22 16 PROC MEANS; VAR AGE; 这个结果是A数据集中4个观测值对AGE求的平均;如果对MEANS过程加入FREQ语句。 PROC MEANS; FREQ NUMBER; VAR AGE; 该结果按10个20岁(女)、23个22岁(女)、19个21岁(男)、16个22岁(男),总计68个观测值对AGE求平均。 根据观测值的情况,利用FREQ语句可减少输入数据,加快计算。 第七节 ID 语句 语句格式 ID 变量表; 功能:用来规定一个或几个变量,以便在输出或由该过程产生的SAS数据集中用这些变量值来识别观测值。例如: PROC PRINT DATA=AA; ID NAME; 输出结果的第一列打印出ID语句中规定的NAME值所取代的观察序号(OBS)。