




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a0f36348478e0a5d8bc1776dd4356353.pdf SAS系统和数据分析 电子商务系列SAS系统对数据的管理一. SAS数据集SAS数据集的结构在SAS系统中只有SAS数据集才能被SAS过程(Procedure)使用。SAS数据集是关系型的,它通常分为两部分:l 描述部分包含了一些关于数据属性的信息l 数据部分包括数据值SAS的数据值被安排在一个矩阵式的表状结构中,见图31所示。表的列称之为变量(Variable),变量类似于其它文件类型的域或字段(Field);表的行称之为观察(Observation),观察相当于记录(Record)。变 量1变 量2变 量3变 量4NameTest1Test2Test3观察1Xiaoer908688观察2Zhangsan1009889观察3Lisi797670观察4Wangwu687164观察5Zhaoliu1008999图31 一个SAS数据文件二. SAS数据集形式SAS系统中共有两种类型的数据集:l SAS 数据文件(SAS data files)l SAS 数据视窗(SAS data views)SAS 数据文件不仅包括描述部分,而且包括数据部分。SAS 数据视窗只有描述部分,没有数据部分,只包含了与其它数据文件或者其它软件数据的映射关系,能使SAS的所有过程可访问到,实际上并不包含SAS 数据视窗内的数据值。自始自终,在SAS语言中,“SAS数据集”与这二种形式中之一有关。在下面的例子中,PRINT过程用相同方法处理数据集aaa.abc,而忽略它的形式:PROC PRINT DATA=aaa.abc三. SAS数据库SAS数据库和库标记SAS数据集存储在被称为SAS数据库的文件集中。SAS数据集是最常用的一种SAS文件类型,但SAS数据库可以包含其它类型的SAS文件。这些数据库使得SAS系统能够在SAS程序中指明并查阅文件。无论使用哪种操作系统都需要为每个SAS数据库指定一个库标记来识别。库标记仅仅是SAS文件的物理位置在SAS系统中的一个统一的逻辑标识。使用LIBNAME语句可以指定SAS库标记,它的一般形式为:LIBNAME libref SAS-data-library options;例如: 指定目录c:course为库标记Course, 可以在PROGRAM EDITOR中提交下面的语句:libname course c:course;run;永久的和临时的SAS数据库SAS的存储方式有二种:l 永久的SAS数据库l 临时的SAS数据库图32 SAS系统的库标记与对应的目录一个SAS数据集是临时地或者是永久地存在,取决于该数据集所附属的SAS数据库是临时的或永久的。一般用LIBNAME语句把主机系统下某个目录与库标记联系起来,并用这个库标记作为SAS数据集名字的第一部分(或称第一级),这样规定的SAS数据库是永久的;如果只有第二部分(或称第二级)数据集的名字或库标记为WORK时,这样规定的SAS数据库是临时的。永久库中的所有文件将被保留,但库标记仍然是临时的。每次SAS启动时都自动指定两个库标记:SASUSER和WORK。分别联系目录“C:SASSASUSER ”和“C:SASSASWORK#TDxxxxx ”。见图32所示。SAS文件的两级名每个SAS文件都有一个两级名,第一级是库标记,第二级是文件名,中间用“.”号隔开,在程序中通过指定两级名来识别SAS文件,一般形式为SAS数据集名字包括三个部分,格式如下:Libref.data-set-name.membertypel Libref(库标记)这是SAS数据库的逻辑名字l data-set-name(数据集名字)这是SAS数据集的名字l membertype(成员类型)SAS数据集名字的这一部分用户使用时不必给出。SAS 数据文件的成员类型是DATA;SAS 数据视窗的成员类型是VIEW例如上面例子中的aaa.abc这个SAS数据集名字,aaa是库标记,abc是数据集名字,成员类型没有写出,应该是DATA或VIEW中一个。对永久SAS数据库的命名假定你想创建一个数据集名为Class的永久数据集,这个数据集中的观测值和变量定义为图31所示。首先,你要确定Class的数据集在哪里存储,然后使用LIBNAME语句来定义库标记;若选择Study作为库标记,那么在DATA语句中你应该这样命名SAS数据:图33 创建永久性数据集STUDY.CLASSlibname study d:sasmydir;data study.class;当这个DATA步执行时,名为class的SAS数据集被存储在用库标记Study联系的目录里。见图33所示是创建永久性数据集STUDY.CLASS的程序,注意在第一条LIBNAME语句执行后,将在LIBNAME窗口出现第五个新的库标记“STUDY”和用户自定义联系目录“d:sasmydir”。在这次SAS会话后面的DATA步或PROC步使用这个数据集时,必须规定两级名字。例如:proc print data=study.class ;对临时SAS数据集的命名为了创建或读一个临时SAS数据集,通常你只要规定单级名字,即这个数据集名字。SAS系统自动地使用WORK作为库标记。对于开发和检查新程序非常有用,但每次结束SAS后WORK库标记中的所有文件将被删除。例如,下面语句:data class;产生SAS数据集的全名为work.class(或work.class.data,该数据集的成员类型data是SAS系统自动产生的,不必写出)。如果你执行DATA步但不想创建SAS数据集,可在DATA语句里规定关键字_NULL_作为这个数据集的名字。如果你在DATA语句中没有规定数据集的名字或保留名字_NULL_,那么SAS系统自动地创建一些SAS数据集,并命名为DATA1、DATA2、等等。这些数据集被存在WORK库中。联系和删除库标记的方法可以使用LIBNAME语句把库标记与一个物理名字联系起来.例如上面例子中:libname Study d:sasdatamydir;也可以使用LIBNAME语句删除这个库标记,提交的形式如下:libname Study clear ;所谓的SAS数据库的物理名字,是指在你的主机系统下的SAS文件名,因此必须符合主机系统下文件名的法则,如在Windows环境下,文件的路径(也称主机的目录名)命名法则为象d:sasdatamydir形式。库标记是在SAS系统中用来标识SAS系统一组文件的方式,它是一个临时的名字,使得我们在每一个SAS系统作业或会话中与SAS数据库联系在一起。查看SAS数据库极其内容:SAS数据库1. 发布LIBNAME命令进入LIBNAME窗口2. LIBNAME窗口中列出了所有已指定库标志的SAS数据库。3. 在想要查看的库前面的横线上键入S并回车,以进入DIR窗口。4. DIR窗口中列出了指定数据库中所有SAS文件。5. 在想要查看的数据集前面的横线上键入S并回车,以进入VAR窗口。6. VAR窗口显示出指定数据集的描述部分的信息。7. 用R可以改变某个变量的属性。8. 发布END命令退出当前窗口。一个目录里的所有SAS文件都是一个SAS数据库(SAS data library)的成员。一个目录可以包含外部文件(非SAS文件)以及SAS文件,但只有这些SAS文件才是SAS数据库的成员。SAS数据库是一个逻辑概念,没有物理实体。如图44所示描述了SAS数据库、SAS文件和SAS文件的元素之间的关系。注意,这个库对应于主机操作系统的一个目录,而SAS文件对应于目录内的一个文件。 图44 在SAS数据库中的成员类型例如,我们前面定义的Study永久库就是一个SAS数据库,对应的目录为d:sasdatamydir,在此目录内有SAS数据集文件:l Class.sd2(包含两种成员类型DATA和VIEW)l 索引文件Class.si2其它SAS文件如用BASE SAS软件的存储程序功能产生的成员类型为:l PROGRAM程序文件。SAS的目录是具有成员类型为:见图45所示,操作步骤如下:图45 创建和 查看STUDY数据库及其内容l 在命令框中键入LIB或LIBNAME,进入LIBNAME窗口,列出了所有已指定库标记的SAS数据集l 在想要查看的库前面的横线上键入S(即SELECT)并回车,进入DIR窗口,列出了指定数据库中的所有SAS文件l 在想要查看的数据集前面的横线上键入S并回车,进入VAR窗口,列出了指定数据集的描述部分的信息l 在想要修改的变量前面的横线上键入R(即RENAME)并回车,可以改变这个变量的属性。l 发布END命令退出当前窗口或用MOUSE单击一下窗口右上角的关闭窗口按钮。1 用Libraries对话框进行管理用MOUSE单击一下SAS系统的标准工具栏上的Libraries按钮(最后一组命令按钮的第一个),或选择菜单命令:l GlobalsAccessDisplay libraries进入Libraries对话框,如图46所示。在这个Libraries对话框中可以更方便完成上述的库标记的建立(单击New Library按钮)和修改(单击Modify Library按钮),数据库和SAS文件的查看(使用View下拉菜单)和更新(单击Refresh按钮)等SAS数据库的管理。图46 使用Libraries对话框进行数据库管理四. SAS文件的驱动(Engines)1 驱动(Engines)的概念驱动(Engines)是SAS系统从文件中读出数据和写入数据到文件中的一些内部I/O指令。从SAS系统的6.06版本起,SAS系统引入了有关驱动(Engines)的文件新概念,用这一方法显著地扩充了系统的文件存取功能。2 Engnies和SAS数据集模式的关系 图27 Engines和SAS数据集模式的关系见图47所示:3 SAS系统采用Engines驱动的优点l 处理已存在的较早版本的数据集,而不必拷贝它们为新版本的格式。l 处理由各种数据管理系统(比DB2、ORACLE、Rdb/VMS和SQL/DS)所创建的文件的数据格式。l 处理用统计软件(比如SPSS、BMDP和OSIRIS)生成的数据。l 创建一些被压缩、加索引和其它特性的SAS数据集。l 采用不同的文件或SAS数据集中的一些变量来创建逻辑的SAS数据集。五. SAS数据集中变量的类型介绍SAS数据集的基本概念以及如何运用SAS/FSP 来建立、浏览、编辑一个SAS数据集。SAS共有两种类型的变量:l 字符型变量以ASCII码存放,最大长度不超过200字符。l 数据型变量以浮点数存放,长度为8个字节。SAS数据集的矩阵式结构要求每个观测的每个变量值都必须存在,因此如果某个数据值缺失,系统会自动补上一个缺失值。对于数字型变量,这个值显示为一个点“.”,而对于字符型变量,这个值显示为空格。六. 输入和输出格式SAS数据集的数据值的内部存放格式并不一定与该数据值的输入和输出格式一致,这取决于SAS的两个重要功能:输入格式(Informats)和输出格式(Formats)。输入格式指示SAS系统如何读入数据,而输出格式指示SAS系统如何输出数据。它们的一般形式如下:l 输入格式:informat.l 输出格式:format.其中$符号指示这是个字符输入输出格式,没有$符号表示是数值输入输出格式;Informat是一个输入格式的名字,format是一个输出格式的名字;w是宽度值,对许多输入输出格式这个值是输入输出数据的列数;d在数值输入输出格式中是小数部分的长度;点”.”是所有输入输出格式中必须包含的分隔符,作为名字的一部分。如果在格式中省略w和d值,SAS系统使用缺省的值。在SAS系统6.12版本中有五类输入格式,字符输入格式共有14种,数值输入格式共有35种;四类输出格式,字符输出格式共有13种,数值输出格式共有41种。七. 日期时间值在SAS系统中的存储当变量的值表示日期、时间和日期时间时,在这种特殊的情况下,用户还需了解日期时间值在SAS系统中是怎样被存储的。SAS系统存储日期值为:l 1960年1月1日和这个日期之间的天数例如1962年3月8日被存储为797(即366+365+31+28+7),1958年10月1日被存储为457(即365313031)。SAS系统存储时间值为:457l 从午夜开始到此刻的秒数例如8:18存储为29880(86060+1860)。一个日期时间值存储为1960年1月1日午夜到这个日期时间之间的秒数。例如1962年3月8日8:18存储为6915960(79724360+29880)。SAS系统6.12版本提供了17种日期、时间和日期时间的输入格式,31种输出格式。八. 几种常用的输入输出格式主要的输入输出格式名描述w.d标准的数值数据型格式$w.标准的字符数据型格式COMMAw.d含有逗号、小数点的数值数据型格式DOLLARw.d含有美元号$、逗号和小数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国家具五金电商项目创业计划书
- 中国三维扫描软件项目创业计划书
- 中国B2C跨境电商项目创业计划书
- 中国近视康复治疗仪项目创业计划书
- 中国光纤标签项目创业计划书
- 中国固网宽带项目创业计划书
- 中国能源信息安全项目创业计划书
- 中国高粱项目创业计划书
- 中国5G小基站项目创业计划书
- 中药制剂的质量控制体系构建-洞察阐释
- 区块链原理与实践全套教学课件
- 故障测距-牵引网故障测距(铁路牵引供电系统继电保护)
- 前列腺癌诊治新进展课件
- 广州市轻工技师学院招聘真题
- 我的家乡广西河池宣传简介
- 邦纳T30UX系列超声波传感器
- 云南省昆明市官渡区2022-2023学年七年级下学期期末语文试题(含答案)
- 电动车分期付款的合同范本
- 《反对校园欺凌》话剧剧本
- 国家开放大学电大《课程与教学论》形考任务2试题及答案
- 最全广联达教程全套
评论
0/150
提交评论