第1章SAS系统简介
§1.1 SAS发展概况 SAS(Statistical Analysis System)是一个大型的数据管理与数据统计分析处理的软件包。1966年由美国North Carolina州立大学开始研制,1976年在美国成立了SAS研究所。 SAS主要用于数据处理和统计分析领域,是一个功能齐全、使用方便灵活。只须要有少量的、简单的语句、写出SAS程序,进行运行,就可以满足拥护要求,一些特殊的计算或处理方式可以通过选项来指定。从而达到且让用户将SAS程序在SAS环境下提高运行,及时了解到程序运行情况及出现的错误,程序可以方便的编辑修改和运行,直到用户得出满意的计算结果。 目前,SAS已经发展成为一个功能齐全、应用范围广泛、使用灵活方便的数据库管理和数据分析的标准软件系统。其统计分析部分,在数据处理和统计分析领域,被业界和国际上公认为标准软件和最权威的统计软件包。 SAS应用广泛,其应用范围涉及到理、工、农、林、医、管理、商业、行政事物等各个领域。国际上成立了专门的SAS协会SUGI(SAS User Group International),每年有学术会议讨论研究有关SAS的问题。 SAS在我国的应用。 SAS的主要版本。 §1.2 SAS的结构、功能、特点 一、SAS结构与功能: SAS软件包由多个大的功能模块组成,用户可以根据需要,选择安装部分或全部SAS功能模块来组成一个运行系统。 SAS系统的核心(基本)部分是SAS/BASE模块,其功能是承担数据管理,管理用户使用环境,进行用户语言的处理,调用其他模块。在SAS/BASE模块的基础上,还可以增加如下不同的模块、从而实现不同的功能。 ⑴SAS/BASE ⑵SAS/STAT ⑶SAS/AF ⑷SAS/FSP ⑸SAS/GRAPH ⑹SAS/ETS ⑺SAS/IML ⑻SAS/OR ⑼SAS/QC 二、SAS的特点: l 实用性强、功能完善、使用方便、编程简单、容易学习。 l 信息存储简单,数据交换接口丰富,可以调用多种格式的数据文件。 l 语言编程能力强大。 l 对数据连续处理。 l 统计分析方法丰富,使用简单。 l 具有强大的报表输出和绘图功能。 三、SAS的运行环境: l 硬件系统:586计算机 l 操作系统:Windows95/98/2000 §1.3 SAS for Windows 的操作入门 SAS for windows系统的操作界面是标准的图形用户界面,是标准的多文档界面,如同Word、Excel等软件一样,操作使用简单、类似。软件操作可以通过菜单或命令方式完成。 一、 SAS的安装与启动 ⒈ SAS的安装: ⒉ SAS的启动: ⒊ 系统的设置: 二、 SAS集成环境介绍: ⒈ SAS的集成环境: ⒉ 程序编辑窗口(Program Edit): ⒊ 日志窗口(Log): ⒋ 输出窗口(Output): ⒌ 其它窗口: 三、 SAS操作入门: ⒈ 程序的编辑: ⒉ 程序的运行: ⒊ 结果查看: ⒋ 有关文件的操作。 §1.4 SAS/ASSIST简介 SAS/ASSIST是为初学者学习使用SAS系统提供的一个交互式辅助系统,目的是初学者更容易的掌握SAS的强大功能。 一、 SAS/ASSIST的启动: 二、 SAS/ASSIST的操作入门: 三、 SAS/ASSIST的的学习资料: 请访问:cie.nwsuaf.edu.cn/apptech/sjm/sas onload="this.style.overflowX='auto';">第2章SAS语言的基本概念 §2.1 SAS语言概述 SAS提供了一种完善的编程语言。如同大多数计算机高级语言一样,SAS用户只须要熟悉其命令、语句及简单的语法规则就可进行数据管理和分析处理工作。因此,掌握SAS编程技术是学习SAS的关键环节。 在SAS中,系统具有众多的计算过程,把大部分常用的复杂的数据计算的算法作为标准过程调用,用户仅需要指出过程名及必要的参数即可,这样使得SAS的变成变的十分简单。 SAS程序是SAS语句的有序集合。以程序的功能将SAS程序划分成多个程序模块(程序段),这些模块分为两类:数据准备模块——数据步(DATA Step)和过程部(PROC Step)。在一个SAS程序中可以有一个或多个数据步与过程步。 SAS程序的结构和数据流向示意图 数据步的作用是把数据源中的数据作为输入,经过加工后输出到一个或多个“SAS数据集”。 过程步是把由数据步建立和产生的数据集中的数据作为输入,调用一个或多个标准过程,经标准过程计算处理后,将结果以清晰的表格或图形方式输出到OUTPUT窗口中或写入磁盘文件。 简单说:数据步是为过程步准备数据,并将数据放入数据集中; 过程步是把指定的数据集中的数据计算处理后并输出结果。 一个简单的SAS程序的如下: data student; input xh$ xm$ yy gs; p=yy gs; cards; 001 aaa 89 91 002 bbb 70 88 003 ccc 90 92 004 ddd 70 87 005 eee 85 83 proc print; proc means; run; 运行结果如下: 数据集: OBS XH XM YY GS P 1 001 aaa 89 91 180 2 002 bbb 70 88 158 3 003 ccc 90 92 182 4 004 ddd 70 87 157 5 005 eee 85 83 168 平均数: Variable N Mean Std Dev Minimum Maximum ------------------------------------------------------------------- YY 5 80.8000000 10.0349390 70.0000000 90.0000000 GS 5 88.2000000 3.5637059 83.0000000 92.0000000 P 5 169.0000000 11.7898261 157.0000000 182.0000000 §2.2 SAS 常量 SAS中有多种常量:数值常量,字符常量,日期、时间、日期时间常量。 ①数值常量: 数值常量是一个十进制数值,在书写上与数学书写习惯一致。可分为:正负整数、小数和科学记数法。例如: 数 SAS书写 -3 -3 3.12 3.12 18000000 1.8E6 (大于1032-1必须用科学记数法表示) -0.0000125 -1.23E-5 ②字符常量: 字符常量是用一对单引号或双引号括起来的一串字符,其长度不超过200个字符。 ③日期、时间、日期时间常量: 这三类常量是将其对应的格式化值用单引号括起来,并且后跟类型符来表示的。 l 日期值(DATE):表示为’ddmmmyy’D或’ddmmmyyyy’D。 其中dd表示日,mmm表示月份,yy或yyyy表示年份。 如:’24MAR03’D或24MAR2003’D l 时间值(TIME):表示为’hh:mm:ss’T或’hh:mm:ss. ss’T。 其中hh表示小时,mm表示分钟,ss表示分钟。 如:’14:30:25’T或’14:30:25. 87’T。 l 日期时间值(DATATIME):表示为:’ddmmmyy:hh:mm:ss’DT。 §2.3 SAS 变量 一、变量及变量的命名 变量:指具有相同性质的数据值的集合。变量是用变量名表示的。 变量的命名:以字母或下画线开头,后跟字母或数字或下画线的字符串。长度不多于8个字符。空格和特殊的字符($、@、#)不能出现在变量名中。 二、变量的属性 SAS的变量分为两类:数值型与字符型。每个变量都有长度、输入格式、输出格式和标号四种属性。变量的属性可以由首次出现的上下文给出定义,也可以用专用的语句定义明确给出。 1、变量的取值范围: 数值型变量的值是数值,数值的范围是:±10-307到±10 308。 字符型变量的值是字符串,其取值范围最多为200个字符。 2、变量长度: 变量长度是指SAS数据集中存储它的每一个值的字节数。 数值型变量的长度为:3"8个字节,默认为8个字节。 字符型变量的的长度为:1"200个字节,默认为8个字节。 3、变量的格式标号 由于变量名长度不能超过8个字符,有时变量名受此限制而不能完全表达变量的含义。变量的格式标号是用来给变量定义一个标签,这样可以提高输出变量值时的可读性。用LABEL语句可以定义变量的格式标号。 4、数据缺值(Missing Values) 在数据分析中,经常会遇到数据不全或数据缺少的问题。SAS在数据分析时允许数据缺值,一般用“.”表示。 5、变量的简化表示 SAS程序定义了完整的变量清单,可以在许多语句中使用缩写变量清单,达到简化书写的目的。(参见P9表2.1) §2.5 SAS 函数 如同其他高级语言一样,SAS提供了丰富的标准函数,为计算带来极大方便。SAS函数的书写格式为: 函数名(参数表) 例如:SIN(X) ABS(X) 一、数的参数 函数的参数可以是常量、变量、表达式。函数的参数可以是一个或多个。如: sin(x) 一个参数 max(x1,x2,x3,x4,x5) 多个参数 参数书写形式有如下三种: ① 将所有参数列入括号内,参数间用“,”隔开。如:max(x1,x2,x3,x4,x5) ② 将所有参数列入括号内,参数间用“空格”隔开,前面冠以OF,如: max(of x1 x2 x3 x4 x5) ③ 参数变量名的尾部是有序整数时,可写成:(OF 变量名1-变量名n),如: max(of x1-x5) 二、函数值 除个别函数外,多数函数值的类型与其参数类型是一致的。 三、关于函数的几点说明 ① 函数不能直接用在PUT语句中。 ② 函数参数都有特定的取值范围。 ③ 除样本统计函数外,多数函数不允许有缺值。 ④ 对某些概率函数,若参数选择不当,可能引起不收敛的问题。 四、函数分类 SAS函数的类型有:算术、数学、截尾、三角、样本统计、概率函数。(略) §2.6 SAS表达式 SAS表达式是由操作符和圆括号将各种操作数连接起来表示运算关系的的式子。表达式的值可能是:数值、字符串或缺失值。 一、操作符 ① 算术运算符 **(乘方) *(乘) /(除) (加) -(减) ② 比较(关系)运算符 = 或EQ 等于 ^= 或 NE 不等于 > 或GT 大于 < 或LT 小于 >=或GE 大于等于 <=或LE 小于等于 比较两个量大小关系,构成比较表达式,运算结果为逻辑值。如: 5>3 1 X<2*Y ”ab c”>=”XYZ” ③ 逻辑运算符 &;amp; 或 AND | 或 OR ^ 或NOT 对逻辑值再进行运算,构成逻辑表达式,运算结果为逻辑值。如: 5>3 1 AND X<2*Y 逻辑运算真值表: 逻辑值A 逻辑值B A AND B A OR B NOT A 真 真 真 真 假 真 假 假 真 假 假 真 假 真 真 假 假 假 假 真 ④ 其它运算符 <> 取两个量中最大值 53<>34 >< 取两个量中最小值 53><34 || 或!联接两个字符串 ”abc” || ”de” 二、操作符运算优先级 在一个SAS表达式中,同时可能包含多个操作符,各种操作符的执行优先顺序规定如下: 规则1:括号内优先 规则2:具有较高优先级的操作先执行,优先级次序如下: 组1:**,正负号,NOT,<>,>< 组2:*,/ 组3: ,- 组4:|| 组5:<,<=,=,^=,> ,> 组6:AND 组7:OR 规则3:组号小者优先组号高者,优先级先同时,依次从左向右执行。 §2.7 SAS语句与程序 SAS语句是以SAS关键字(保留字)开头、后跟SAS名、特殊字符、操作符等组成,以分号结束。一个语句规定了一种操作或为系统提供默写信息。 一、SAS关键字: 关键字是SAS系统已经赋于特定含义的一个单词或单词缩写,是一个特定的字符串。在SAS语句中,多数语句是以关键字作为开头的。 二、SAS 名: SAS名是以字母或下画线开头,后跟字母或数字或下画线的字符串。长度不多于8个字符。空格和特殊的字符($、@、#)不能出现在变量名中。 另外,SAS保留了一些特殊的变量名并赋予特定的含义。这些变量都是以下画线开头和结尾,如:_N_表示当前数据步已经执行过的次数。 在SAS语句中,可能出现的SAS名有:变量名、数据集名、过程名、输出格式名、选项名、数组名、语句标号名、文件逻辑名等。 三、SAS程序 SAS程序是由若干SAS语句组成的有序特定的集合,典型的SAS程序都包括两个部分:数据步和过程步,整个程序以RUN语句结束。 同其它高级语言一样,SAS程序由多行语句组成,其书写格式如下: ① 语句可以在一行任意列开始书写 ② 一个语句可以写一行或多行,但要以分号结束 ③ 多条语句可以写在一行,语句见必须以分号隔开(英文分号“;”) ④ SAS语句对英文字符不区分大小写。 ⑤ 建议将程序书写成锔齿形,便于程序阅读与调试。 |
|