系统和数据分析输入输出格式.docx
《系统和数据分析输入输出格式.docx》由会员分享,可在线阅读,更多相关《系统和数据分析输入输出格式.docx(9页珍藏版)》请在冰豆网上搜索。
系统和数据分析输入输出格式
第五课输入输出格式
一、SAS数据集中变量的类型
SAS共有两种类型的变量:
●字符型变量━━以ASCII码存放,最大长度不超过200字符
●数据型变量━━以浮点数存放,长度为8个字节
SAS数据集的矩阵式结构要求每个观测的每个变量值都必须存在,因此如果某个数据值缺失,系统会自动补上一个缺失值。
对于数字型变量,这个值显示为一个点“.”,而对于字符型变量,这个值显示为空格。
二、输入和输出格式
SAS数据集的数据值的内部存放格式并不一定与该数据值的输入和输出格式一致,这取决于SAS的两个重要功能:
输入格式(Informats)和输出格式(Formats)。
输入格式指示SAS系统如何读入数据,而输出格式指示SAS系统如何输出数据。
它们的一般形式如下:
●输入格式:
<$>informat.
●输出格式:
<$>format.
其中,$符号指示这是个字符输入输出格式,没有$符号表示是数值输入输出格式;Informat是一个输入格式的名字,format是一个输出格式的名字;w是宽度值,对许多输入输出格式这个值是输入输出数据的列数;d在数值输入输出格式中是小数部分的长度;点“.”是所有输入输出格式中必须包含的分隔符,作为名字的一部分。
如果在格式中省略w和d值,SAS系统使用缺省的值。
在SAS系统6.12版本中有五类输入格式,字符输入格式共有14种,数值输入格式共有35种;四类输出格式,字符输出格式共有13种,数值输出格式共有41种。
三、日期时间值在SAS系统中的存储
当变量的值表示日期、时间和日期时间时,在这种特殊的情况下,用户还需了解日期时间值在SAS系统中是怎样被存储的。
SAS系统存储日期值为:
●1960年1月1日和这个日期之间的天数
例如,1962年3月8日被存储为797(即366+365+31+28+7),1958年10月1日被存储为-457(即-365-31-30-31)。
SAS系统存储时间值为:
-457
●从午夜开始到此刻的秒数
例如,8:
18存储为29880(8×60×60+18×60)。
一个日期时间值存储为1960年1月1日午夜到这个日期时间之间的秒数。
例如,1962年3月8日8:
18存储为6915960(797×24×360+29880)。
SAS系统6.12版本提供了17种日期、时间和日期时间的输入格式,31种输出格式。
四、几种常用的输入输出格式
如表5.1所示。
表5.1常用的输入输出格式
主要的输入输出格式名
描述
w.d
标准的数值数据型格式
$w.
标准的字符数据型格式
COMMAw.d
含有逗号、小数点的数值数据型格式
DOLLARw.d
含有美元号$、逗号和小数点的数值数据型格式
DATEw.
日、月份、年形式的日期值(ddmmmyy),例如,w=7时,18jan97;w=9时,18jan1997
MMDDYYw.
月份、日、年形式的日期值(mmddyy),例如,w=8时,01/18/97;w=6时,011897
五、数据格式变换举例
设有一个SAS数据集survey,其中有一个数字变量INCOME和一个日期变量BDATE,针对不同的采样数据格式,我们对变量采用对应的输入格式,得到在SAS系统中实际存储的数据值,然后根据报表的输出要求,选定一种输出格式,将实际存储的数据值按所选输出格式显示结果。
如表5.2所示。
表5.2INCOME和BDATE变量的输入输出格式
输入数据→
变量和输入格式→
实际存储数据值→
变量和输出格式→
显示结果
12345.1234
Income8.2
12345.12
Income8.2
12345.12
12,345.1234
Incomecomma8.2
12345.12
Incomecomma8.2
12,345.12
$12,345.1234
Incomedollar8.2
12345.12
Incomedollar8.2
$12,345.12
08MAR62
Bdatedate7.
797
Bdatemmddyy6.
030862
03/08/62
Bdatemmddyy8.
797
Bdatedate9.
08MAR1962
第六课建立SAS系统的数据集(ASSIST)
得到SAS数据集的五种途径
●用SAS/ASSIST通用菜单系统创建数据集
●用SAS/FSP系统的FSEDIT过程创建数据集
●用SAS数据步(DATASTEP)将外部文件转换为数据集
●用SAS/ACCESS系统访问其他数据库
●用FILE/IMPORT或EXPORT输入输出数据库
其中,如何使用SAS数据步读入外部原始数据文件,并将它们转换为SAS数据集是我们要重点掌握的。
一、用ASSIST通用菜单援助系统创建数据集
下面我们通过创建一个SURVEY数据集,并用报表形式显示的例子,来说明SAS/ASSIST软件的具体的操作步骤。
1.启动SAS/ASSIST软件
最简单的方法是单击工具拦上的SAS/ASSIST按钮,或选择菜单命令:
●Globals/SAS/ASSIST
或在左上角的命令框直接键入Assist并按Enter键,都可启动SAS/ASSIST软件,主菜单如图6.1所示。
共有11个子系统:
TUTORIAL
DATAMGMT(DATAManagement)
REPORTWRITING
GRAPHICS
DATAANALYSIS
PLANNINGTOOLS
EIS
REMOTECONNECT
RESULTS
SETUP
INDEX
2.
图6.1SAS/ASSIST软件的主菜单
选择主菜单中的DATAMGMT(数据管理)项
选择主菜单上的DATAMGMT(数据管理)子菜单,如图6.2所示。
图6.2数据管理的主菜单
3.选择CREATE/IMPORT(创建数据集或输入数据)的方法
选择CREATE/IMPORT菜单后,提供几种创建数据集的方法供用户选择,如图6.3所示。
假设我们:
(1)选择用交互式方法录入数据:
●Enterdatainteractively….
(2)选择第二种以表格的形式输入记录的方式
图6.3创建和输入菜单
图6.4选择以表格的形式输入记录的方式
如图6.4所示,又提供了两种输入观测的方法供用户选择:
Enterdataonerecordatatime(一次输入一条记录的方式)和Enterdataintabularform(以表格的形式输入)。
假设我们选择第二种以表格的形式输入记录的方式。
4.指定新创建数据集的名字和说明是永久的或临时的
在选定数据输入方式后,系统出现一个如图6.5所示的窗口:
SelectaNewSASDataSettoCreate。
让用户指定要创建的新数据集名字并说明该数据集是临时的(Temporary)或永久的(Permanent)。
若是永久的,还必须在已有库标记中指定一个。
例如,我们在DataSet中:
●输入数据集的名字:
SURVEY
●单击单词Temporary
系统自动出现提示Intemporarylibrary:
WORK,已指定临时库标记为WORK;最后单击OK,这时系统生成一个名为SURVEY的空数据集。
图6.5创建临时数据集SURVEY
5.命名和描述新建数据集中的变量
在输入SAS数据集名字SURVEY和选定Temporary并OK确定后,系统显示如图6.6所示一个标题为:
ASSIST:
Newwork.survey(e)的菜单。
在屏幕中共列出五项数据集的描述项:
Name,Type,Length,Label,Format。
可以让用户输入数据集的变量名、变量类型、长度、标签和格式。
其中只有Name(变量名)是必需的,其他几项若用户没有特殊要求可使用SAS系统提供的缺省值。
例如,我们为数据集Work.Survey,在Name、Type和Format三项上输入了如图6.6所示的相应描述值。
因为变量NAME和SEX是字符型变量,所以在Type项上需要说明“$”。
变量描述完毕后选择菜单命令File/End。
图6.6描述临时数据集SURVEY的变量
6.用步骤3确定的方法输入观测的值
接着系统显示FSVIEW窗口,如图6.7所示。
用户可以用交互的方式输入数据集的观测值,因为在步骤三中确定的是以表格的形式输入观测,所以出现的是全屏幕输入界面。
输入数据时,要注意使键盘上的Insert键处于非插入状态。
每输入完一条观测后,还可以返回上面已输入的观测进行立即修改,只要单击所需要修改的观测,左右移动光标到某位置进行修改。
FSVIEW窗口菜单栏上的一个Delete工具按钮,可用来删除当前选中的观测。
当所有观测都输入完毕后,选择菜单命令File/End来存储这个SAS数据集。
图6.7在FSVIEW全屏幕编辑窗口输入各条观测
选择REPORTWRITING(编写报表)
通过连续选择菜单界面的Goback项,返回到PrimaryMenu主菜单后,选择REPORTWRITING(编写报表)。
7.选择LISTING(列表显示)
在ReportWritingMenu菜单中选择第一个LISTING子菜单。
如图6.8所示,在SAS/ASSIST:
ListaDataSet对话界面让用户做以下几方面的选择:
●给出生成报表的那个SAS数据集的名字。
单击Activedataset按钮,在Directory目录对话框的列表栏中,通过单击选择数据集SURVEY,被选中的数据集前带有一个“*”号。
●用户可以通过单击选项Subsetdata按钮,选择子集。
●用户可以通过单击选项Variablestoappearinreport按钮,选择出现在报表中的变量,如NAME、SEX、AGE和INCOME,选择的方法是单击一下变量名。
●用户可以通过单击选项Additionaloptions按钮,规定一些另外的选择项,如求部分观测的和、对变量加标签等。
在这里我们通过SpecifyLabels选项指定变量INCOME加上标签STIPEND,通过SummaryVariables选项指定的数字变量INCOME进行汇总求和。
●用户可以通过在屏幕上方菜单栏中选择Customize实现对报表加上标题(Titles)或脚注(Footnotes)。
如加上HowtouseSAS/ASSIST标题和DesignedbyDZX副标题。
图6.8选择LISTING后显示的对话框界面
8.选择RUN菜单命令显示用户要求的报表
●单击主菜单上Locals命令
●从下拉菜单中选择RUN子菜单命令
即可在OUTPUT窗口中显示经过我们层层设计的报表,如图6.9所示。
如果输出的报表还没有满足用户的要求,可以不断地返回修改和输出显示,直到满意为止。
图6.9使用SAS/ASSIST工具在OUTPUT窗口形成的报表
9.退出SAS/ASSIST系统
通过连续选择菜单界面的Goback项,返回到PrimaryMenu主菜单后,选择EXIT项退出SAS/ASSIST软件系统。
或将MOUSE指向SAS/ASSIST窗口的左上角图标上,双击左键立即退出SAS/ASSIST系统。