§
3.3 SAS程序的程序步
通俗的讲,
SAS的程序步(有的书中也称过程或过程步)就是已经编好了的用于数据整理和统计的计算机程序,你只需要调用它们就是了。程序步总是用一个PROC语句开始,后面紧跟着程序步名,用以区分不同的程序步。以下是一些常用的程序步的名称及功能。
|
程序步名
|
功
能 |
| SORT |
将指定的数据集按指定变量排序 |
| PRINT |
将数据集中的数据列表输出 |
| MEANS |
对指定的数值变量进行简单的统计描述 |
| FREQ |
对指定的分类变量进行简单的统计描述 |
| TTEST |
对指定的变量做t检验 |
| ANOVA |
对指定的变量做方差分析 |
| NPAR1WAY |
对指定的变量做非参数检验 |
| REG |
对指定的变量做回归分析 |
| CORR |
对指定的变量做相关分析 |
| CHART |
绘出低分辨率的统计图 |
PROC就是程序(procedure)的缩写,而程序步的名字大都是其功能相对应的单词或词组的缩写。
可见
SAS的许多功能就是通过程序步来体现的,可如此多的种类也使我们难以总结出一个程序步的通式来。不过仍可大致给出如下结构:
| PROC 过程名 [DATA=数据集名] [选项]; |
| 该过程的专用语句描述; |
| [VAR 变量序列;] |
| [WHERE 条件表达式...;] |
| [BY 变量序列;] |
| Run; |
方括号里的语句均可以省略,在这时该过程按最通常的情况来处理,即:
- 处理最新建立的
- 处理所有的变量(或对一个计算过程来说处理全部数值变量)。
- 一次处理整个数据集而不是某个子集。
我们在第一章中用到的
但有时我们的要求超出了默认方式所提供的范围,这时就要动用方括号里的秘密武器了。
SAS数据集。 PRINT程序步就是采用的这种默认方式。
- DATA参数 指明所需处理的数据集名,请注意在这里它是一个参数而不是语句。
- VAR语句 如果只想分析某一个或几个特定的变量,则可用VAR语句指定它们。例如只想显示变量x的列表,则PRINT过程如下:
如果想显示
var x y;
当然,也可以将
VAR语句删除,结果相同。
- Where语句 如果你想处理的不是整个数据集而只是其中符合某种条件的子集,那么WHERE语句将会非常有用,如上例中我们只想显示大于50的x变量的值,则在PRINT过程中加入where语句如下:
Where x>50;
如果条件变为
x、y两个变量的值都要大于50,则where语句改为:
where x>50 and y>50;
- By语句 如果你需要分组处理数据,例如要按性别分组输出统计结果,你有两种选择,一是用不同的where语句将同一个程序步反复写几遍;另一种显然更酷的方法就是采用by语句。如上例我们想按不同的y值输出x值,则加入by语句如下:
By y;
使用BY语句要求数据集已经按BY语句中指定的变量排序。如果没有排序,则程序无法正确运行。可以用SORT过程来排序,语法结构如下:
| PROC SORT DATA=数据集名; |
| BY 变量名列; |
| RUN; |
上一篇:SAS/ASSIST视窗简介 下一篇:统计图
共5页: 上一页 [1] [2] [3] 4 [5] 下一页