第六章[SAS过程中常用语句]

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)。

相关文档
最新文档