SAS学习(初识).doc_第1页
SAS学习(初识).doc_第2页
SAS学习(初识).doc_第3页
SAS学习(初识).doc_第4页
SAS学习(初识).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAS 学习笔记SAS 初识(学习笔记)1自顶向下的设计,自底向上的运行2 SAS程序由一个数据步 data work.filenam ; . run; 若干执行步 proc print . run; proc KEYword . run; 可归纳为DATA步和PROC步两个部分。 DATA步生产、整理数据 报表编写,文件管理、信息检索等都在DATA中完成。 PROC步分析数据 管理数据、生成报告和图表及对数据排序等在PROC中完成。3 SAS语句通常以SAS关键字开头,以分号(;)结束4 SAS数据集是一个由 SAS创建并且处理的文件,是一个包含数据值的特殊结构性文件。数据必须以SAS数据集的形式存在才能用 SAS程序和一些DATA步语句处理。 SAS数据集由描述信息部分,包括一般信息和变量信息 用contents 过程浏览 proc contents DATA=SAS-data-set ; run; 数据值部分是由字符或数字数据值组成的表格。用PRINT过程浏览 proc print DATA=SAS-data-set; run; 数据部分是一个由字符和/或数字数据值组成的矩形表格。变量名称是描述部分的一部分,而不属于数据部分。5 SAS逻辑厍是SAS文件的集合。就是一个目录。在使用中要通过一个引用名来识别。 SAS逻辑库分临时库和永久库,名为的work是临时库,由SAS自动创建,随着SAS会话的结束,其中的数据文件将被删除;永久库则会保存下来。 当我们在磁盘上创建了一个文件目录并将使其做为SAS永久库时,需要使用LIBNAME语句分配一个逻辑库引用名 libname x_name s:workshop; 由此SAS建立了逻辑库(引用)名与操作系统上的文件目录的物理位置建立了连接。 当SAS会话结束后,逻揖库引用名与文件的物理位置之间的走接就会切断。 数据集是逻辑库中的一个SAS文件,在物理上是逻辑库对应的那个目录中的一个文件。 表达为一个两级文件libref.filename 如果libref被省略则默认为work。6 用DATA语句创建临时或永久数据集 SET 语句读取数据文件或数据集 WHERE语句选择观测 DORP 或KEEP语句选择变量。 对SAS数据集加工的一般格式: DATA outputSAS-data-set(生成数据集名); SET inputSAS-data-set (读入数据集名); 数据加工语; RUN;7 DATA步数据处理的一般原理: step1,建立PDV PDV(program data vector)程序数据向量,是SAS暂时存放数据的地方。 当SET打开数据的时候,SAS将数据集中读入PDV中。 PDV还包括根据DATA步中其它语句产生的新变量,以及两个系统变量_N_和_Error_ step2,SET语句读入输入数据集的描述部分 step3,在PDV中加入变量 加入输入数据集的全部变; 加入DATA步中产生的新变量。 step4,创建(目标)生成数据集的描述部分 此时数据集为空,沒有记录(数据),数据的产生在DATA步执行阶段。 step5,DATA步执行 PDV中变量初始化为缺失 将输入数据集中的第一条记录读入PDV,并根据赋值语句计算PDV中新变量的值 将PDV中的数据写入在编译阶段创建好的生成数据集中,形成第一条记录 将输入数据集的第二条记录写入PDV,覆盖原有的内容,_N_的值置为2,覆盖过程中赋值语句将计算新变量,新变量在每次开始循环的时刻,被置为缺失 将PDV中数据写入生成数据集中,形成生成数据集中的第二条记录。重复读入写出的过程,直到遇到读入数据集结束标志(EDF)。需要注意的几点:i ,系统变量_N_和_Error_ 不能写入生成数据集,但赋值语句可以使用。ii,可以对读入PDV的变量或记录进行限制,但在不同的阶段进行限制,运行效率是不同的iii,当数据是从外部导入数据集时,则是先将外部数据读入输入缓冲区(Input buffer,然后由缓冲区写入PDV。每次循环开始时,PDV中的变量值被置为缺失,然后从缓冲读入原始数据。 图1 DATA步工作流程8 有关变量和记录限制的效率 从一个SAS数据集中可以选择变量,并进行加工,进而生成新的数据集,其中需要保留的变量用 keep variable-list;表示。需要删除的用 drop variable-list; 表示。variable-list 是指定需要保留或删除的变量列表。从DATA的工作流程看,一是从读入到写入PDV之前进行控制,另一个是从PDV写入新数据集时进行控制,再有就是在整理数据过程中进行控制(见图2)。图2 不同阶段的变量选择控制对于观测的约束同变量选择的一样,也在三个阶段进行控制,只是控制的方法更丰富了,一是在数据写入PDV之前,用SET inputSAS-data-set (where=(表达式);此时效率最高;二是此时还可以选择用WHERE语句进行操作,WHERE语句表达式非常丰富,简洁有效;三是在数据从PDV写到新数据集,用DATA outputSAS-data-set (where=(表达式); 四是在数据读入PDV后,还可以使用IF语句将满足条件的删除(不写入生成数据集),如: IF (表达式) THEN DELELTE ;切记此时是对PDV中已存在的数据进行操作。 关于IF语句还有两个方便之处可以使用内部变量_N_,表达式中的字符变量可以自动转变为数值变量自行比较。SET语句中还有一组选项(FIRSTOBS=和OBS=),其作用是从哪一条记录开始读入PDV,到哪一条结束。9 关于变量的属性 前面说到SAS数据集的描述部分时,曾指出在这里还存储了有关变量的名称、类型和变量长度等变量属性。事实上还有标签(LABEL)和格式(FORMAT)两个属性也是存储在描述部分中的,当添加了这些属性后,在展示报告时标签将改变变量名称的外观。格式会改变变量值的外观。 LABEL语句的一般形式: LABEL variable= label variable= label variable= label;应注意的是:一个标签最多有256个字符;在单个LABEL语句中可为任意数量的变量定义标签;在DATA步中使用 LABEL语句,通过将标签储存在这个SAS数据集的描述部分,使标签和变量永久关联。FORMAT语句的一般形式: FORMAT variable(s) format;应注意的是:格式是SAS用于写出数据的一个指令;在一个DATA步中使用 FORMAT 语句,通过将格式储存在SAS数据集的描述部分中,使格式和变量永久关联。Format格式非常的丰富,有如下: format.$ 表示一个字符格式format给SAS 格式或用户定义的格式命名w指定总的格式宽度包含小数位数和特殊字符. 是一个必要的分隔符d指定数值格式中的小数点的位数。格式说明格式 说明$w.写入标准字符数据w.d写入标准数值数据COMMAw.d写入数值带有一个每隔三位数分隔的逗号和一个分隔小数的点COMMAXw.d写入数值带有一个每隔三位数分割的点和一个分隔小数的逗号DOLLARw.d写入数值左端是一个美元符号,并带有一个每隔三位数分隔的逗号和一个分隔小数的点EUROXw.d写入数值左端是一个欧元符号( ) ,带有一个每隔三位数分隔的点和一个分隔小数的逗号SAS的日期格式格式储存值显示值MMDDYY6.0010160MMDDYY8.001/01/60MMDDYY10.0 01/01/1960DDMMYY6.365 311260DDMMYY8.365 31/12/60DDMMYY10.365 31/12/1960DATE7. -1 31DEC59DATE9. -1 31DEC1959WORDDATE. 0January 1, 1960WEEKDATE. 0Friday,January 1, 1960MONYY7.0JAN1960YEAR4.0196010 关于where 语句的丰富表达式where-表达式是由一系列运算符和操作数组成的用来选择观测的条件表达式。其中运算数包含常量和变量。运算符包含算术运算符,比较算符和逻辑算符。运算数中常量运算数是固定值;字符值必须包含在引号中并且区分大小写。特别应注意的是数值不用引号;一个变量运算数必须是来自输入数据集的一个变量。比较运算符可比较一变量和一个值,或一个变量和另一个变量。具体如下表:符号算符说明=EQ等于= = =NE不等于GT大于=GE大于或等于=LIKE字符串匹配具体解释如下:用 BETWEEN-AND运算符选择变量值落入一个值域内的观测。IS NULL和IS MISSING 运算符选择变量值是缺失的观测。这里需要注意的是运算符可用于字符型变量和数值型变量;将NOT 逻辑运算符和IS NULL或IS MISSING 合并,可选择非缺失值。CONTAINS (?)运算符选择包含指定的子字符串的观测。需要说明的是变量值中的子字符串的位置不重要。当你做比较时,运算符区分大小写。LIKE运算符通过比较字符值和特定模式来选择观测。使用中有两个可用于定义模式的特殊字符:一个是百分号(%)代替任意数量的字符;另一个是下划线(_) 代替一个字符。具体应用中可以指定连续下划线;百分号和下划线可在同一个模式中使用;运算符区分大小写。需要特别注意的是一个转义字符是表明转义字符后面的字符将采用原来的意义。对于LI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论