1、第二章 SAS编程基础 Basic Programming of SAS,主讲人:李桥,主要内容,SAS数据集、常量、变量与观测 SAS函数 SAS操作符 数据步流程,SAS数据集、常量、变量与观测,数据集(Dataset) SAS数据集是SAS可以管理的结构化的数据,只有SAS数据集中的数据才能被SAS过程步处理。 数据集包含两部分内容: 1. 描述部分: (数据结构) 数据名称、类型、长度、格式等。 2. 数据部分: (数据) 包含实际数据值。 SAS数据值被安排在一个矩阵式的表状结构中。,观测(Observation) 描述被观测对象的单一整体(如一个人、一个实验动物等)某些所研究特性的
2、一系列数据值称为一个观测,又称观察。在SAS数据集中每一行数据是一个观测。 变量(Variable) 变量指定了数据的某一特性。在SAS数据集中,每一个观测是由各个变量的数据值组成。在数据集中每一列数据是一个变量。,变量的命名 变量名最多8个字符长,一般由字母、数字、下划线组成。第一个字符必须是字母或者下划线,不能有空格。特殊字符(如$,#)也不允许在SAS名中使用。 合法变量名如: A A1 abc name age total SAS系统保留的特殊变量名,以下划线开始和结尾。如:_N_和_ERROR_等。,变量特性 变量特性:名称、类型、长度、输入格式、输出格式和标记。 两种类型:数值型
3、字符型(后跟“$”符号) 长度特性:是指存贮的字节数。缺省长度是8(为了存贮长度与缺省值不同的变量,需使用LENGTH语句)。,定义变量特性的两种方法: 明确地说明 input 语句 在首次出现时给出定义 赋值语句:等号 = 例如: DATA A; C=BAD; PUT C; C=GOOD; PUT C; RUN;,变量清单的简化表示 如果要一次定义或指定多个同种类型变量,可以使用缩写变量清单形式: (P13表2-1) INPUT NAME $ VAR1 VAR2 VAR3 VAR4 VAR5 VAR6; 可以写成: INPUT NAME $ VAR1-VAR6; 注意: 字符型变量NAME不
4、包含在这个缩写清单中。 这些变量要求类型相同,或全是数值型的或全是字符型的。,缺项值 当一个变量由于某种原因没有得到(可能没有观测到,或由于数据错误,或由于计算错误),称该值为缺项值(又称缺失值)。在SAS中用“.”表示。,常量 (Constant) SAS常量为其值是固定不变的量。 SAS常量经常用于赋值、运算等语句中。 如:y = 10; c = “张”; 常量分为以下三类: 数值常量:1.5 -2.79 1.75E-5 字符常量:“Hello” “ABC” Zhangli 日期、时间、日期时间常量:后接D,T,DT 1JAN2000D 9:25:19T 1JAN2000:10:30:05
5、DT,SAS函数,函数是一个功能模块,包括三个要素: 函数名、参数、返回值 函数的作用为:根据参数计算函数值并返回。 例:y = SUM ( 1, 2, 3) ; 函数名:SUM 参数:1, 2, 3 返回值:6 (函数运算结果) 参数格式: 1.用逗号分割:SUM(x1, x2, x3) 2. 用简化形式:SUM(OF x1-x3) 3.用列表形式:SUM(OF x1 x2 x3),SAS操作符(运算符),算术操作符 */+- 比较操作符 = = = = 逻辑操作符 INPUT NUM SEX $ AGE WEIGHT HEIGHT; RATIO=WEIGHT/HEIGHT; CARDS; 1001 F 19 47 1.69 1002 M 20 55 1.74 1003 F 18 49 1.66 ; RUN;,Num Sex Age Weight Height,Ratio,1001 F 19 47 1.69 27.8107,1002 M 20 55 1.74 31.6092,1003 F 18 49 1.66 29.5181,