《SAS基本概念:数据集.ppt》由会员分享,可在线阅读,更多相关《SAS基本概念:数据集.ppt(40页珍藏版)》请在金锄头文库上搜索。
1、 SAS系统对数据文件的管理系统对数据文件的管理要要 求求浏览浏览SAS文件库的属性和内容文件库的属性和内容浏览浏览SAS数据集的属性和内容数据集的属性和内容使用使用V ViewiewT Tableable浏览、编辑和浏览、编辑和 新建新建SASSAS数据集数据集设定设定SAS逻辑库逻辑库(或文件库或文件库,数据库数据库)1SAS程序的基本组成是:若干程序的基本组成是:若干data步和若干步和若干proc步步组成一个完整的组成一个完整的SAS程序,其中程序,其中data步产生步产生SAS数据集,而数据集,而proc步则对步则对SAS数据集内的数据进行数据集内的数据进行处理并输出结果或产生新的数
2、据集。处理并输出结果或产生新的数据集。本节主要介绍本节主要介绍data步建立数据集的基本方法步建立数据集的基本方法 SAS对数据的分析与呈现都是面对对数据的分析与呈现都是面对SAS数据集(如数据集(如Sashelp.class)进行的,在)进行的,在SAS系统中只有系统中只有SAS数据集才能数据集才能被被SAS过程使用。过程使用。SAS数据集是一种数据集是一种SAS文件文件;SAS文件是由文件是由SAS系统创建和管理的有特殊结构的文件系统创建和管理的有特殊结构的文件.包括包括 SAS数据集数据集(类型为类型为Table,可以看作由若干行列组成的表格,可以看作由若干行列组成的表格), SAS目录
3、册目录册(类型为类型为Catalog,不能表示成行列结构,如系,不能表示成行列结构,如系统设置、图象、声音统设置、图象、声音)等等.2数据集数据集 SAS数据集有两类:l SAS数据文件l SAS数据视图SAS数据文件同时描述信息和存储数据值。SAS数据视图并不实际存储数据,而只是一个查询语句。class是数据视图class1是数据文件3SAS数据集数据集组成部分包括:l 描述信息;l 数据值。每列为一个变量,包括一组有着相同特征的值每行就是一个个体的性质4 SAS系统对数据文件的管理系统对数据文件的管理SAS 逻辑库逻辑库(文件库文件库)SAS数据集存储在数据集存储在SAS逻辑库中逻辑库中.
4、 SAS逻辑库还存储其它逻辑库还存储其它SAS专用文件专用文件 (由由 SAS 创建和管理的文件创建和管理的文件).SAS逻辑库的文件用两级命名方式定名:逻辑库的文件用两级命名方式定名: libname.SAS-filename 逻辑库名(库标记)逻辑库名(库标记).文件名文件名SAS数据集数据集SAS逻辑逻辑库库5 SAS系统对数据文件的管理系统对数据文件的管理SAS SAS 逻辑库逻辑库( (文件库文件库)-)-类型类型SASSAS逻辑库有逻辑库有永久库永久库和和临时库临时库两种两种: :临时库临时库:是指它的内容只在启动SAS时存在,退出SAS时内容完全被删除。系统缺省的临时逻辑库为WO
5、RK.永久库永久库:是指它的内容在SAS关闭对话之后仍旧保留,直到再次修改或者删除。SAS系统中除了WORK以外的逻辑库都是永久库。如SAS系统自动指定的逻辑库SASHELP,SASUSUER 和 MAPS都是永久库.6建立SAS逻辑库的方法:l 用菜单操作;资源管理器 当前逻辑库 新建逻辑库l 用LIBNAME语句。在编辑器窗口用 libname 命令语句格式:LIBNAME libref SAS-data-library 语法说明:Libref 逻辑库名 SAS-data-library 逻辑库对应的物理地址Engine 引擎名称(缺失时为默认引擎)7例例2.1 用用LIBNAME语句创建
6、语句创建SAS逻辑库。逻辑库。Libname ResDat d:ResDat;多个个文件夹创建一个多个个文件夹创建一个SAS逻辑库:逻辑库:Libname a (d:resbd,d:resfin);例例2.2 引用非临时库的SAS文件时必须使用两级命名方式,而引用临时库的SAS文件时,可以直接使用文件名,效果等同于work.文件名。data=ResDat.Idx000001;8 SAS系统对数据文件的管理系统对数据文件的管理SAS 逻辑库逻辑库(文件库文件库)-)-用资用资源源管理(浏览)器查看库管理(浏览)器查看库进入浏览器窗口即可查看进入浏览器窗口即可查看SAS文件库的属性和内容文件库的属
7、性和内容.若用详细列表显示库内容,若用详细列表显示库内容,点击某一栏目名时可将此栏点击某一栏目名时可将此栏目内容按字母顺序排序后详目内容按字母顺序排序后详细列出细列出. .在库名处点击鼠标右键并选属性(Properties)即可显示该库的属性.9 SAS系统对数据文件的管理系统对数据文件的管理SAS 逻辑库逻辑库(文件库文件库)-)-用浏览器查看文件属性用浏览器查看文件属性在文件名处点击在文件名处点击鼠标右键并选鼠标右键并选属性属性(Properties)可可显示显示SAS文件的文件的属性属性.10 SAS系统对数据文件的管理系统对数据文件的管理SAS 逻辑库逻辑库(文件库文件库)-)-用浏览
8、器查看文件属性用浏览器查看文件属性 对数据文件可查看对数据文件可查看各列各列( (字段字段) )属性属性 在在列名列名( (如如weight)weight)点击右键可修改某些点击右键可修改某些栏目的内容栏目的内容11 SAS系统对数据文件的管理系统对数据文件的管理SAS 逻辑库逻辑库(文件库文件库)-)-用浏览器操作文件用浏览器操作文件 在文件名处点击鼠标右键可在在文件名处点击鼠标右键可在弹出菜单中选择对文件的操作弹出菜单中选择对文件的操作,包括文件的更名、复制、删除包括文件的更名、复制、删除等等. 复制文件也可以用将文件复制文件也可以用将文件直接拖动至库的目录树来实直接拖动至库的目录树来实现
9、现. . 用鼠标左键双击数据文件用鼠标左键双击数据文件名即可打开名即可打开SAS数据集数据集. .12SAS系统对数据文件的管理系统对数据文件的管理浏览浏览SASSAS数据集数据集-使用使用Viewtable 浏览与编辑浏览与编辑ViewTable 提供一个显示数据集内容的窗口提供一个显示数据集内容的窗口.它具有对它具有对数据集的数据集的浏览浏览、编辑编辑和和创建创建的功能的功能如何进入如何进入ViewTable窗窗(VT窗或窗或VT界面界面):(1) 在在SAS资源管理器或逻辑库对话窗中双击资源管理器或逻辑库对话窗中双击SAS 数据集的图标数据集的图标(V8)(2) 键入命令键入命令:VT
10、数据集名数据集名 例如例如 VT Sashelp.CLASS (3) 在在SAS主窗口由主窗口由工具工具=表编辑嚣表编辑嚣=进入进入TV界面后界面后 由由文件文件=打开打开所选数据集所选数据集.(切换到切换到SAS,用用CLASS数据集数据集)13 SAS系统对数据文件的管理系统对数据文件的管理浏览浏览SASSAS数据集数据集-使用使用Viewtable 浏览与编辑浏览与编辑Viewtable 提供两种打开数据集的方式:提供两种打开数据集的方式:编辑编辑(Edit) 浏览模式浏览模式(Browse Mode) 只能浏览只能浏览, 不不 能改动数据集内容能改动数据集内容(缺省时的模式缺省时的模式
11、).编辑编辑(Edit) 编辑编辑模式模式(Edit Mode) 允许修改数据允许修改数据 集内容集内容.允许修改数据集的编辑方式又分为允许修改数据集的编辑方式又分为编辑编辑(Edit) 行级编辑访问行级编辑访问 (Row Level Edit) 只封只封锁编锁编辑的行辑的行( (缺省时的模式缺省时的模式) ):对该行进行锁定,在改行编辑完:对该行进行锁定,在改行编辑完毕之前,其他进程无法修改改行毕之前,其他进程无法修改改行. .编辑编辑(Edit) 表级编辑访问表级编辑访问 (Table Level Edit) 封锁整封锁整个表进行编辑:开启后,其他进程无法对该表进行修改个表进行编辑:开启后
12、,其他进程无法对该表进行修改.14 SAS系统对数据文件的管理系统对数据文件的管理浏览浏览SASSAS数据集数据集-使用使用Viewtable 浏览浏览Viewtable 提供两种显示数据集的形式:提供两种显示数据集的形式: 查看查看(View) 表表视图视图(Table View) 以矩阵以矩阵 表格形式显示数据表格形式显示数据 ,一次可显一次可显 示多条记录示多条记录(缺省时的模式缺省时的模式). 查看查看(View ) 表单视图表单视图(Form View) 一次只一次只 显示一条记录显示一条记录(一个观测一个观测).15SAS系统对数据文件的管理系统对数据文件的管理浏览浏览SASSAS
13、数据集数据集-使用使用Viewtable 浏览浏览对变量对变量(字段字段) 可在下拉菜单选可在下拉菜单选 数据数据(Data) 列列属性属性(Column Attributes) 改变选定的某个改变选定的某个变量变量(列列)显示形式显示形式:General栏目下可临时改变变量属性栏目下可临时改变变量属性(只适用于只适用于 显示,但在显示,但在Save as时属性改变有效时属性改变有效) Colors和和Fonts 栏目栏目下可分别设定各字段名称和下可分别设定各字段名称和内容的颜色和字体内容的颜色和字体( (切换到切换到SASSAS系统系统, ,用用CLASSCLASS数据集数据集) )16SA
14、S系统对数据文件的管理系统对数据文件的管理浏览浏览SASSAS数据集数据集-使用使用Viewtable 浏览浏览 浏览变量浏览变量(字段字段) :选选查看查看(View) 列列标签标签(Column Label), 浏览数据浏览数据 集时显示变量的标签名集时显示变量的标签名; 查看查看(View) 列名列名(Column Name) ,显示变量名显示变量名.可用鼠标操作改变各可用鼠标操作改变各列的位置列的位置和和栏位的宽度栏位的宽度;选选数据数据(Data) 隐藏隐藏/取消隐藏取消隐藏(Hide/Unhide) 可隐可隐 去去(恢复恢复)显示某些列显示某些列; 数据数据(Data) 固定固定(
15、Hold) 可选定表格左侧若干列可选定表格左侧若干列 在横向滚动时保持不动在横向滚动时保持不动. 17SAS系统对数据文件的管理系统对数据文件的管理使用使用Viewtable 浏览浏览浏览观测浏览观测(记录记录):选选 数据数据(Data) Where :可使用可使用where语句选语句选 择要显示的择要显示的观测观测(记录记录);EQ =; NE =; GT ; LT =; LE =14 AGE=14 的观测的观测, ,然后浏览全部观测然后浏览全部观测; ;4. 4. 浏览数据集浏览数据集classclass的描述信息和数据内容的描述信息和数据内容; ;5. 5. 浏览浏览SASSAS永久永
16、久库库SASUSERSASUSER的属性和内容的属性和内容, ,并并 浏览数据集浏览数据集AIRAIR的描述信息和数据内容的描述信息和数据内容. .25 生成生成SAS数据集数据集要要 求求学会使用学会使用ViewTable窗口直接输入窗口直接输入;学会用数据步输入简单的数据集学会用数据步输入简单的数据集.26 生成生成SAS数据集数据集数据来源及相应方法数据来源及相应方法建立建立SASSAS数据集的各种途径数据集的各种途径数据存于纸上数据存于纸上需直接键入需直接键入数据存于文本文件数据存于文本文件数据存于流行数据存于流行数据库文件中数据库文件中用VIEWTABLE或菜单系统 编程:用DATA
17、步用Import菜单用SAS/ACCESS27 生成生成SAS数据集数据集数据集的描述信息数据集的描述信息为了新建一个为了新建一个SASSAS数据集数据集, ,一般应该先规定数据集的名一般应该先规定数据集的名称及标题名称及标题名, ,它包含变量的属性它包含变量的属性( (变量名及标签变量名及标签, ,类型类型, ,长度长度, ,输入输出格式输入输出格式).).数据集名数据集名应由应由字母或下划线开始字母或下划线开始且且不超过不超过3232个个 字节字节的的字符、数字或下划线字符、数字或下划线构成,不区分大小写,如构成,不区分大小写,如name,aBc,x1,_song_name,aBc,x1,
18、_song_都行且都行且abcabc与与ABcABc一样,但一样,但clcl1 1(不能有减号)、(不能有减号)、a bit a bit (不能有空格)、(不能有空格)、songsong(不能有特殊字符)等都不合法名称(不能有特殊字符)等都不合法名称. .若用若用ViewtableViewtable界面直接输入数据,同时对格式和其它界面直接输入数据,同时对格式和其它属性无特殊要求时属性无特殊要求时, ,也可先输入数据,而后设定各个也可先输入数据,而后设定各个变量的属性变量的属性. .28 生成生成SAS数据集数据集数据集中变量属性要求数据集中变量属性要求数据集中变量的属性:数据集中变量的属性:
19、变量名变量名(Name):字母或下划线开始且不超字母或下划线开始且不超过过32个个(V6为为8)个字符、数字或下划线构个字符、数字或下划线构成成类型类型(Type):数值型、字符型数值型、字符型($)长度长度(Length): 缺省缺省8字节字节( 32767)标签标签(Label): 256字节字节输入格式输入格式(Informat): 输入格式名输入格式名w.d输出格式输出格式(Format): 输出格式名输出格式名w.d必须可选可选29 生成生成SAS数据集数据集缺失值缺失值在数据集的一条记录中某个变量无数据时,称在数据集的一条记录中某个变量无数据时,称为为缺失值缺失值(Missing
20、Value).字符型变量的缺失值用空格符表示字符型变量的缺失值用空格符表示数值型变量的缺失值用句号数值型变量的缺失值用句号“ . ”表示表示NAME SEXPOSITION AGE SALARYAlex M A 35 1500Linda F 28 1400Simon M C 45 30 生成生成SAS数据集数据集输入输入/输出格式输出格式输入、输出格式例子:输入、输出格式例子:122341212,234.1234$12,234.12347.2comma9.2dollar10.2输入数据输入数据输入格式输入格式实际存储实际存储 数据值数据值12234.12输出格式输出格式8.2comma9.2d
21、ollar10.2输出数据输出数据12234.1212,234.12$12,234.12( (见见BASE41.SAS)BASE41.SAS)31 生成生成SAS数据集数据集输入输出格式输入输出格式日期输入、输出格式例子:日期输入、输出格式例子:20OCT9720/10/971997/10/20DATE7.DDMMYY8.yymmdd10.输入数据输入数据输入格式输入格式实际存储实际存储 数据值数据值 13807输出格式输出格式date9.mmddyy6.yymmdd8.输出数据输出数据20OCT199710209797-10-201960,1,101960,1,211960,2,131196
22、1,1,1366( (见见BASE42.SAS)BASE42.SAS)32 生成生成SAS数据集数据集输入输出格式输入输出格式几种常用的输入、输出格式:几种常用的输入、输出格式:w.d $w.dCOMMAw.dDOLLARw.dDATEw.MMDDYYxw.数字型格式,宽度为w,小数为d 标准的字符型格式标准的字符型格式数字中嵌入逗号数字中嵌入逗号数字中嵌入逗号, ,前加前加$ $日期格式按日月年格式读入的数据 日期格式日期格式 33 生成生成SAS数据集数据集用用Viewtable窗口直接输入窗口直接输入命令:命令:VT 或或 VT New=数据集名数据集名;即弹出空白的表即弹出空白的表34
23、 生成生成SAS数据集数据集用用Viewtable窗口直接输入窗口直接输入在在ViewTable窗口打开空白表后可窗口打开空白表后可点击变量名在弹出菜单选点击变量名在弹出菜单选Column Attributes或选或选 Data Column Attributes 并在弹出窗口设定该变并在弹出窗口设定该变量的属性量的属性;或选或选 文件(文件(File) 类似(类似(Like) 并选数据集,并选数据集,使新建数据集与已有数据集有相同的变量和属性使新建数据集与已有数据集有相同的变量和属性;或选或选文件(文件(File) 引用(引用(Include) 并选数据集,并选数据集,使新建数据集利用已有数
24、据集的属性和内容进行修使新建数据集利用已有数据集的属性和内容进行修改改.35 生成生成SAS数据集数据集用用Viewtable窗口直接输入窗口直接输入在设定变量属性后在设定变量属性后( (此时系统已存贮了此时系统已存贮了 SASSAS数数据集的描述部分据集的描述部分) ) 再再 点击单元格即可在单元格输入内容点击单元格即可在单元格输入内容. .在输入完毕后可选在输入完毕后可选: : 文件文件(File)(File) 另存为另存为(Save as)(Save as) 或或 文件文件( File) ( File) 保存保存 (Save)(Save) 将表存为将表存为SASSAS数据集数据集. .3
25、6 生成生成SAS数据集数据集 使用数据步新建数据集使用数据步新建数据集SAS的程序由两类程序步的程序由两类程序步(Step)构成构成:数据步数据步(DATA STEP):以以DATA语句开始语句开始,创建和处理创建和处理SAS数数据集据集;过程步过程步(PROC STEP): 以以PROC语句开始语句开始,用于分析和处理用于分析和处理SAS数据集形式的数据数据集形式的数据,有时还可创建有时还可创建包含过程结果的包含过程结果的SAS数据集数据集.37 生成生成SAS数据集数据集直接输入数据生成直接输入数据生成SAS数据集数据集在在DATA步直接输入数据步直接输入数据的一般形式的一般形式:DAT
26、A DATA SAS-data-setSAS-data-set ; ; 变量属性设定语句变量属性设定语句; ; INPUTINPUT 语句语句; ; 其它语句其它语句; ; CARDS; CARDS; 数据行数据行; ; RUN; RUN;在在DATA步直接输入数据的例子步直接输入数据的例子: data da1; input x y z; sum=x+y+z; cards; 1 3.1 5 3 2.3 7 6 3.4 6 ; run;( (见见BASE43.SAS)BASE43.SAS)38 生成生成SAS数据集数据集由文本数据文件生成由文本数据文件生成SAS数据集数据集在在DATA步由文本数
27、据文件步由文本数据文件生成生成SAS数据集的一般格式数据集的一般格式:DATA DATA SAS-data-set ; ; 变量属性设定语句变量属性设定语句; ; INFILE INFILE filename ; INPUT INPUT 语句语句; ; 其它语句其它语句; ;RUN;RUN;在在DATA步由文本数据文件生步由文本数据文件生成成SAS数据集的例子数据集的例子: data da2; infile c:f1.txt; input x y z; mean=(x+y+z)/3; run;文本数据文件文本数据文件f1.txt的内容的内容: 3.1 5 3 2.3 7 .( (见见BASE44.SASBASE44.SAS和和BASE45.SAS)BASE45.SAS)( (在在infileinfile语句可规定不同的分隔符语句可规定不同的分隔符, , 如如 DLM=DLM=, , ) )39 生成生成SAS数据集数据集本节的练习题本节的练习题1. 用用VT命令进入命令进入ViewTable窗口窗口,直接输入数据直接输入数据并进行编辑修改后存为并进行编辑修改后存为sas数据集数据集;2. 使用使用Import窗口菜单系统窗口菜单系统,将将 *.txt 转换为转换为sas数据集数据集;3. 用数据步生成用数据步生成sas数据集数据集.40