--SAS系统和数据分析SAS数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四课SAS数据库
一、SAS数据库(SAS data library)的成员
一个目录里的所有SAS文件都是一个SAS数据库(SAS data library)的成员。一个目录可以包含外部文件(非SAS文件)以及SAS文件,但只有这些SAS文件才是SAS数据库的成员。
SAS数据库是一个逻辑概念,没有物理实体。图4.1描述了SAS数据库、SAS文件和SAS 文件的元素之间的关系。注意,这个库对应于主机操作系统的一个目录,而SAS文件对应于目录内的一个文件。
图4.1 在SAS数据库中的成员类型
例如,我们前面定义的Study永久库就是一个SAS数据库,对应的目录为d:\sasdata\mydir,在此目录内有SAS数据集文件:
●Class.sd2(包含两种成员类型DATA和VIEW)
●索引文件Class.si2
其他SAS文件如用BASE SAS软件的存储程序功能产生的成员类型为:
●PROGRAM程序文件
SAS的目录是具有成员类型为:
●CATALOG的SAS文件
此文件用来存储许多称为目录条目(catalog entries)的不同类型的信息,用于SAS系统识别它的结构。典型地,像BASE SAS软件,如果存储目录条目信息对于处理是必要的话,就自动地存储SAS目录条目,而在其他SAS软件中,用户必须在各个过程中规定这个目录条目,用下面完整的四级名字形式来识别:libref.catalog.entry-name.entry-type(库标记.目录名.条目名.条目类型)。SAS系统有一些特性帮助你管理目录中的条目,一是CATALOG过程,它是BASE SAS软件中的一个过程;另一个是显示管理的CATALOG窗口。
SAS访问描述器是一个允许用户创建SAS/ACCESS视图的工具,访问描述器的成员类型为:
●ACCESS的一些文件
我们可以用SAS/ACCESS软件里的ACCESS过程创建它们。访问描述器描述存储在SAS 系统外部的数据,如一些公开的数据库管理系统(DBMS)中的数据,每个访问描述器保存我们想要访问的有关DBMS文件的必要信息,如它的名字、列名和列类型等。
二、对SAS数据库的管理
1.联系和删除库标记的方法
可以使用LIBNAME语句把库标记与一个物理名字联系起来.例如上面例子中: libname Study 'd:\sasdata\mydir';
也可以使用LIBNAME语句删除这个库标记,提交的形式如下:
libname Study clear ;
所谓的SAS数据库的物理名字,是指在你的主机系统下的SAS文件名,因此必须符合主机系统下文件名的法则,如在Windows环境下,文件的路径(也称主机的目录名)命名法则为如d:\sasdata\mydir的形式。库标记是在SAS系统中用来标识SAS系统一组文件的方式,它是一个临时的名字,使得我们在每一个SAS系统作业或会话中与SAS数据库联系在一起。
2.查看SAS数据库及其内容
如图4.2所示,操作步骤如下:
图4.2 创建和查看STUDY数据库及其内容
●在命令框中键入LIB或LIBNAME,进入LIBNAME窗口,列出了所有已指定库
标记的SAS数据集
●在想要查看的库前面的横线上键入S(即SELECT)并回车,进入DIR窗口,列
出了指定数据库中的所有SAS文件
●在想要查看的数据集前面的横线上键入S并回车,进入V AR窗口,列出了指定数
据集的描述部分的信息
●在想要修改的变量前面的横线上键入R(即RENAME)并回车,可以改变这个变
量的属性。
●发布END命令退出当前窗口或用MOUSE单击一下窗口右上角的关闭窗口按钮。
3.用Libraries对话框进行管理
用MOUSE单击一下SAS系统的标准工具栏上的Libraries按钮(最后一组命令按钮的第
一个),或选择菜单命令:
Globals\Access\Display libraries
进入Libraries对话框,如图4.3所示。在这个Libraries对话框中可以更方便地完成上述的库标记的建立(单击New Library按钮)和修改(单击Modify Library按钮),数据库和SAS 文件的查看(使用View下拉菜单)和更新(单击Refresh按钮)等SAS数据库的管理。
图4.3 使用Libraries对话框进行数据库管理
三、SAS文件的驱动(Engines)
1.驱动(Engines)的概念
驱动(Engines)是SAS系统从文件中读出数据和写入数据到文件中的一些内部I/O指令。从SAS系统的6.06版本起,SAS系统引入了有关驱动(Engines)的文件新概念,用这一方法显著地扩充了系统的文件存取功能。
2.Engnies和SAS数据集模式的关系
如图4.4所示。
图4.4 Engines和SAS数据集模式的关系
3.SAS系统采用Engines驱动的优点
●处理已存在的较早版本的数据集,而不必拷贝它们为新版本的格式
●处理由各种数据管理系统(比DB2、ORACLE、Rdb/VMS和SQL/DS)所创建文
件的数据格式
●处理用统计软件(比如SPSS、BMDP和OSIRIS)生成的数据
●创建一些被压缩、加索引和其他特性的SAS数据集
第五课采用不同的文件或SAS数据集中
的一些变量来创建逻辑的SAS数据集输
入输出格式
一、SAS数据集中变量的类型
SAS共有两种类型的变量:
●字符型变量━━以ASCII码存放,最大长度不超过200字符
●数据型变量━━以浮点数存放,长度为8个字节
SAS数据集的矩阵式结构要求每个观测的每个变量值都必须存在,因此如果某个数据值缺失,系统会自动补上一个缺失值。对于数字型变量,这个值显示为一个点“.”,而对于字符型变量,这个值显示为空格。
二、输入和输出格式
SAS数据集的数据值的内部存放格式并不一定与该数据值的输入和输出格式一致,这取