在SAS中对数据的处理可分为两大步骤:
1.将数据读入SAS建立的SAS数据集,称为数据步;
2.调用SAS的模块处理和分析数据集中的数据,称为过程步。
每一数据步都以DATA语句开始,以RUN语句结束。而每一过程步都以PROC语句开始,以RUN语句结束。当有多个数据步或过程步时,由于后一个DATA或PROC语句可以起到前一步的RUN语句的作用,两步中间的RUN语句也就可以省略,但是最后一步的后面必须有RUN语句,否则不能运行。
SAS还规定,每个语句的后面都要用符号“;”作为这个语句结束的标志。
在编辑SAS程式时,一个语句可以写成多行,多个语句也可以写成一行,可以从一行的开头写起,也可以从一行的任一位置写起。每一行输入完成后,用ENTER键可以使光标移到下一行的开头处。
DATA语句
DATA语句的作用是表明数据步的开始并给出数据集的名称。
数据集名称必须以英文字母开始,最长不超过8个字符。
例如创建一个名为EX的数据集的语句是“DATA EX;”
这个数据集是临时的,它仅仅在程式运行期间有效,关闭SAS系统后它就会被覆盖,不能重新调用。
CARDS语句
CARDS语句的作用是与“;”户型,标志数据行的开始与结束。
CARDS;
数据行
;
如果使用CARDS语句,在CARDS的后面必须紧跟数据行,并且在一个数据步中最多只能有一个CARDS语句。
INPUT语句
INPUT语句的作用是描述输入记录中的数据,并把输入值赋给相应的变量。
INPUT语句的格式为 INPUT 数据的变量名、顺序及类型
用INPUT语句时,外部文件中的数据和CARDS语句后面都采取列表输入的方法,各个变量的值由它们之间的空格来分隔。为从一行读入多个观测值,应使用行保持符@@限制读数指针,使其保持在这一行上读数,直到数据读完为止。
例:
input x y@@;
cards;
3.16 2.9 5.8 3 4.9 4.17
;
PROC语句
PROC语句的作用是制定需要调用的程序(或过程)以及该程序的若干选择项。
PROC语句的格式为 PROC SAS的程序名
例如,调用PRINT过程,打印数据集EX的内容:
PROC PRINT DATA=EX
这里的DATA=数据集名,用来指定本过程索要处理的数据集名,如缺省则处理最新建立的数据集。
在PROC步中,还必须确认一些最基本的信息,包括:
1.处理的数据集名,格式为 DATA=数据集名;
2.所涉及的变量名,格式为 VAR 变量名;
3.分组处理的标志,格式为 BY 组变量名;
PRINT过程
PRINT过程可以打印一个SAS数据集中的全体或部分观测值,还可以打印数值变量的总和或部分和。
在PRINT过程中经常使用的语句有:
PROC PRINT[选择项];
VAR 变量表;
BY 变量表;
SUM 变量表;
在PROC PRINT 语句中可能出现的选择项有DATA=数据集名,如果省略这一选择,则打印最新建立的数据集中的数据。
例:计算标准正态分布的概率的程序:
data ex; input x@@; p=probnorm(x); list;
cards;
1.645 1.96 2.576
;
proc print; run;