第2章SAS系统对数据文件的管理.docx
- 文档编号:1846749
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:14
- 大小:73.89KB
第2章SAS系统对数据文件的管理.docx
《第2章SAS系统对数据文件的管理.docx》由会员分享,可在线阅读,更多相关《第2章SAS系统对数据文件的管理.docx(14页珍藏版)》请在冰豆网上搜索。
第2章SAS系统对数据文件的管理
第2章SAS系统对数据文件的管理
2-1SAS文件和SAS逻辑库
1.SAS文件
1.SAS数据集(SASDatasets)
SAS系统的数据文件,后缀名是sas7bdat(V8),sd2(库引擎为V6)等.
2.SAS目录文件(Catalog)
用来保存各种不能表示成行列结构表格形式的数据,比如系统设置、图象、声音等。
在这类文件中可以存储整个应用系统,包括它的界面,源程序和各种对象间的连接。
………..
注:
SAS文件不同于SAS程序(SAS程序(SASPROGRAM)是SAS用户运用SAS语言编写的一段程序。
)。
2.SAS逻辑库
一个SAS逻辑库(Library)就是存放在一个文件夹或几个文件夹中的一组SAS文件。
库名遵循SAS命名原则。
在Windows环境中,一个SAS逻辑库实际对应于磁盘上的一个子目录(特殊情况下一个数据库可以由几个子目录组成)。
在SAS系统中,为了访问一个SAS文件,最好为该SAS文件所在的位置指定一个SAS逻辑库,这样就不必引用可能很长的目录,变得十分简洁。
当退出系统时,自定义的逻辑库会被删除。
SAS系统规定逻辑库的命名必须遵循以下规则:
●由英文字母(大写和小写皆可)或下划线开始;
●由数字,字母和下划线构成;
●长度可以是1-8个字符.
引用SAS文件:
两级命名方式逻辑库名.文件名
在进人SAS系统时,系统会自动地指定一些逻辑库供用户使用:
·Sashelp:
该数据文件夹中的文件是SAS系统在运作时会使用到的系统文件,对环境的数据设置都会存放在此。
用户不要修改该数据文件夹中的文件数据。
·Sasuser:
SAS系统会设置Sasuser数据文件夹路径。
若用户没有设置其他路径,则Sasuser指定的路径或文件每次都相同,该路径下的数据文件是永久存在的。
如果有SAS数据文件要存储时,用户无需在自己的程序代码中设置任何的数据文件夹名称,便可以使用Sasuser数据文件夹来存储SAS数据文件。
物理位置:
c:
\Documentsandsettings\...\MyDocuments\MySasFiles\V8
·Work:
进入SAS系统时会设置Work数据文件夹路径,当用户产生暂时性的SAS数据文件时,会放在该路径下;当离开SAS系统时,SAS系统便会将该路径清除,不会将数据存储下来。
若SAS系统并非正常结束,则必须以手动的方式由用户自行删除该路径下的数据。
从上面看出,SAS文件分为临时文件和永久文件:
临时文件在退出SAS系统时自动被删除,永久文件在退出SAS系统时不自动被删除。
所以,我们把作为中间结果使用的数据集或练习用的数据集作为临时数据集保存,而需要以后再用的数据集则可以保存为永久数据集。
2-2使用浏览器(explorer)管理SAS库及其成员
1.查看逻辑库的属性
2.查看SAS逻辑库和它包含的SAS文件(a:
一般形式;b:
结构图形式,toggletree)
3.复制一个文件
4.对文件重命名
5.设定一个新的逻辑库。
2-3SAS数据集
1.数据集包含的内容
数据集的数据部分:
可以看作由若干行和若干列组成的表格,类似于一个矩阵,数据表的一行称为一个观测,一列称为一个变量.只要存储设备许可,SAS数据集中观测个数和变量个数不加限制。
数据集的描述部分:
数据集的名称;创建数据集的日期和时间;观测的个数;变量的个数等.
SAS数据集有两种表示形式:
SAS数据文件(datafile):
同时存储数据值和描述信息,类型是data
SAS数据视图(dataview):
数据视图只有描述部分没有数据部分,但描述部分包含了足够的信息,足以确保找到保存在其它文件中的数据,即数据视图包含访问数据的逻辑;数据视图减少了维护费用,如果改变了数据视图对应的源数据文件中的数据,数据视图将随着改变。
而数据文件没有此功能。
数据视图的类型是view。
数据视图可以象数据文件一样被调用。
数据视图可由SQL(),ACCESS(4.4.2),DATAstep均可产生数据视图。
Datatest;
inputab$;
cards;
1A01
2B01
3A02
;
run;
procprintdata=test;
run;
proccontentsdata=test;
run;
结果:
(数据部分)
TheSASSystem16:
19Thursday,April29,20081133
Obsab
11A01
22B01
33A02
TheCONTENTSProcedure(描述部分)
DataSetName:
WORK.TESTObservations:
3
MemberType:
DATAVariables:
2
Engine:
V8Indexes:
0
Created:
21:
56Thursday,April29,1993ObservationLength:
16
LastModified:
21:
56Thursday,April29,1993DeletedObservations:
0
Protection:
Compressed:
NO
DataSetType:
Sorted:
NO
Label:
-----Engine/HostDependentInformation-----
DataSetPageSize:
4096
NumberofDataSetPages:
1
FirstDataPage:
1
MaxObsperPage:
252
ObsinFirstDataPage:
3
NumberofDataSetRepairs:
0
FileName:
C:
\DOCUME~1\111\LOCALS~1\Temp\SASTemporaryFiles\_TD1620\test.sas7bdat
ReleaseCreated:
8.0202M0
HostCreated:
WIN_PRO
-----AlphabeticListofVariablesandAttributes-----
#VariableTypeLenPos
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
1aNum80
2bChar88
注:
也可在explorer—〉work—〉右击test—〉Properties查看描述部分
2.SAS数据集命名规则
●由英文字母(大写和小写皆可)或下划线开始;
●由数字,字母和下划线构成;
●长度可以是1-32个字符.
3.SAS常量和变量
SAS常量:
主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。
例如
l数值型:
12,-7.5,2.5E-10
l字符型:
'Beijing',"LiMing","李明"
l日期型:
'13JUL1998'd
l时间型:
'14:
20't
l日期时间型:
'13JUL1998:
14:
20:
32'dt
数值型常数可以用整数、定点实数、科学计数法实数表示。
字符型常数为两边用单撇号或两边用双撇号包围的若干字符。
日期型常数是在表示日期的字符串后加一个字母d(大小写均可),中间没有空格。
时间型常数是在表示时间的字符串后加一个字母t。
日期时间型常数在表示日期时间的字符串后加字母dt。
因为SAS是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问人不肯回答,等等。
SAS中用一个单独的小数点来表示缺失值常量
SAS变量:
SAS系统规定变量的命名必须遵循以下规则:
●由英文字母(大写和小写皆可)或下划线开始;
●由数字,字母和下划线构成;
●长度可以是1-32个字符.
SAS变量不区分大小写.
变量类型:
数值型和字符型。
日期、时间等变量存为数值型。
SAS的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。
.
字符串类型的遗漏值(MissingValue)是NULL,数字类型的遗漏值是“.”。
变量长度:
存储该变量所用的字节数。
缺省值是8。
变量的输入格式:
确定将某种形式的数据如何读入为标准的SAS数据.
例如在表示金额的记录中常用类似于$1,234的写法,它表示两个特殊字符,一个$符号和一个逗号,作为金额记录它表示美元1234元.在机器内部为了对金额进行计算必须将它记为一个数1234.为此在读入时可以用一个输入格式自动地只读入移去美元符号和逗号之后的数值,然后将其村为标准的数值.
变量的输出格式:
确定将数据以某种特殊格式输出。
.
.在机器内部为了对金额进行计算必须将它记为一个数1234.为此在读出时可以用一个输出格式自动地加上美元符号和逗号.
变量的标签:
对变量的描述,是长度不超过256个字符的字符串,区分大小写,也可以是中文字符。
2-4输入和输出格式
SAS最常用的输入输出格式:
字符型数值型日期时间型用户自定义型
各种输入输出格式的一般写作形式:
<$>格式名
$:
变量为字符型;
w:
格式的宽度;
为了得到各种输入格式和输出格式的说明,可以按照以下操作查阅在线帮助.HelpSasSystemHelp,在索引选项下键入informats,然后选择InformatsandFormats:
Index即可.
1.w.d:
数值变量的宽度与精度;
w.d说明:
1.当数据以浮点方式表示或包含小数点时,d不起作用;
2.当读入的数据是整数时,d指隐含的小数位数,即将读入整数除以10的d次方;
3.对于负数,要求负号为数据的第一个字符,且与其他数字间不留空格.
4.由于d的复杂性,建议编程时直接采用w.或不用格式
dataa;
Obsas
11.123
211.234
3-0.012
4-1.234
512.340
inputas5.3;
cards;
1123
11234
-12
-12345
12.345
;
procprint;
run;
2.$charw.:
如果需要完全原样地输入字符型数据(包括头尾空格、单独的小数点),可以用有格式输入,即在字符型变量名和$符后加上一个输入格式如CHAR10.表示读入10个字符,并保留读入字符串前的空格符。
$w.:
如果需要完全原样地输入字符型数据(包括头尾空格、单独的小数点),可以用有格式输入,即在字符型变量名和$符后加上一个输入格式如10.表示读入10个字符,并删除读入字符串前的空格符。
dataa;
Obsaaa
11.123
20.012
312.3456
46
inputaaa$char10.;
cards;
1.123
0.012
12.3456
6
;
procprint;
run;
Commaw.(d):
数据一般以包含逗号、空格、-、$的字符串形式出现在卡片或外部数据文件中;读入时系统可自动去掉这些符号。
dataa;
Obsaaa
112345.67
2123.45
3123.45
41234.56
5-1234.56
66.23
inputaaacomma10.2;
cards;
$123,456,789,0
123,4-5
123,45
12345
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 系统 数据文件 管理
![提示](https://static.bdocx.com/images/bang_tan.gif)