系统和数据分析建立SAS系统的数据集ASSIST.docx
《系统和数据分析建立SAS系统的数据集ASSIST.docx》由会员分享,可在线阅读,更多相关《系统和数据分析建立SAS系统的数据集ASSIST.docx(14页珍藏版)》请在冰豆网上搜索。
![系统和数据分析建立SAS系统的数据集ASSIST.docx](https://file1.bdocx.com/fileroot1/2023-7/13/ca068e17-fdec-4b0f-8e09-b30022befbdb/ca068e17-fdec-4b0f-8e09-b30022befbdb1.gif)
系统和数据分析建立SAS系统的数据集ASSIST
第六课建立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系统。
建立SAS系统的数据集(FSP/FSEDIT)
与使用SAS/ASSIST软件相比,SAS/ASSIST只要用MOUSE点击就行了,而用SAS/FSP,需要在PROGRAMEDITOR窗口中输入一些简单程序,主要是调用FSEDIT过程,其他操作的环境和步骤很相似。
但是用FSEDIT过程所编写的一些数据产生程序比用SAS/ASSIST软件更容易控制产生所需的数据集。
仍然通过创建一个相同SURVEY数据集,并对这个数据集进行一些简单修改的例子,来说明SAS/FSP软件的FSEDIT过程的具体的操作步骤:
一、在PROGRAMEDITOR窗口中输入如下程序
Libnamestudy'd:
\sasdata\mydir';
Procfseditnew=study.survey;
Run;
提示:
以上表格中的程序可以直接用鼠标选中,然后拷贝粘贴到打开的SAS程序编辑窗口中,提交运行。
后面课件中的程序都可以进行类似操作。
在程序中过程FSEDIT用以创建一个新的SAS数据集study.survey。
●如果study.survey数据集不是第一次新建,而是一个已经存在的SAS数据集,则将上面的程序修改为如下:
Procfseditdata=study.survey;
Run;
在程序过程FSEDIT中使用DATA=选项,来指定所要修改的数据集。
二、发布SUBMIT命令提交这段程序
出现了一个标题为FSEDITnewSTUDY.SURVEY的变量描述窗口。
●要注意,如果库标记STUDY指定的目录“d:
\sasdata\mydir”下已经存在此SAS数据集SURVEY,就不会出现变量描述窗口。
解决的办法是到目录下将文件SURVEY.SD2删除。
三、单击主菜单Locals,选择Format/Informat
这样的操作将把窗口中的输出格式Format,修改成输入格式Informat。
同样操作也可以将输入格式Informat修改成输出格式Format。
注意,不要认为只能定义输入和输出格式两者中的一个,可以同时定义两者。
四、输入将要创建的数据集的所有变量及其属性
如下表所示,是我们将要键入的study.survey数据集的变量名、对应的类型(字符型或数字型)、长度、变量标签(用以说明该变量)和该变量的输入格式。
变量名
类型
长度
变量说明
输入格式
Name
$
8
姓名
$8.
Sex
$
2
性别
$2.
Bdate
N
8
出生年月
MMDDYY8.
Age
N
3
年龄
3.
Height
N
6
身高
6.2
Weight
N
6
体重
6.2
Income
N
8
年收入
8.2
Sdate
N
6
调查日期
MMDDYY6.
上表中我们定义了一个新的数据集study.survey所有变量的属性,但没有包括输出格式的属性。
按表格中的内容输入到窗口中相应的位置。
在输入各个变量和它的属性时,注意用非Insert编辑状态(即Overstrike状态)、用Delete键删除已输入的字符和用空格键向右移动光标,描述完一个变量(即一行)后按Enter键。
五、发布END,进入FSEDIT编辑窗口,输入数据
开始输入前:
●要单击工具栏上AddRecord按钮增加一条空白记录
●然后用户可以用交互的方式输入数据值,且每次输入一条观测
如图7.1所示,第一条观测的BDATE字段具体输入日期值的是01/01/80,因为未定义日期输出格式,显示的是SAS日期存储值7305,SDATE字段具体输入的日期值是070897,同样因为未定义日期输出格式,显示的仍然是SAS日期存储值13703。
●输入一条观测后,确信无错且需要,再在Edit编辑的下拉菜单中选Addnewrecord项或在工具栏上单击AddRecord按钮,开始输入下一条记录。
图7.1FSEDIT行编辑输入记录窗口
六、发布ADD/CANCEL/DELETE命令
在输入一条观测的同时,用户还可以在命令框中发布如FORWARD、BACKWARD等命令,或按键盘上的如PageUp、PageDown等键来控制前后记录的翻滚。
另外,标准工具条也自动变成行编辑工具条,也可用Mouse点击相关AddRecord、Copy、Delete、Previous、Next、FSEDITMenu等按钮来操作。
七、用户可以通过发布WHERE命令获得一个子集
如果用户需要从study.survey数据集中选出所有性别为男性的观测进行编辑,可以先在命令框中键入如下命令:
WHEREsex='M'
按回车键命令执行后,得到用户所需要的study.survey数据集的一个子集,然后按PageUp/PageDown键所翻滚的前后记录都是这个子集中的某一条记录,用户就能很方便地对这个子集中的记录进行编辑。
如图7-2所示。
图7.2对数据集中的观测进行条件选择
有时用户为更方便输入命令和操作编辑工具条,可将命令框和编辑工具条移动到用户习惯的位置,选择Options/Preferences菜单命令,出现一个参数选择对话框,如图7-3所示,将原来选中的Commandbar和Toolbar改为Commandbox和Toolbox,再按Save按钮。
图7.3使用Options/Preferences菜单命令后的参数对话框
八、用VIEWTABLE窗口浏览已编辑完成的数据集
在FSEDIT编辑窗口完成了全部观测的输入后:
●用File/End菜单命令结束FSEDIT过程
如果用户想要浏览一下刚编辑完成的或已经存在的study.survey数据集,可以调用SAS的VIEWTABLE窗口来浏览已编辑完成的指定数据集。
如图7.4所示。
最简单实用的调用方式是:
●选择Globals/Access/Displaylibraries菜单命令,出现Libraries对话框
●在指定的数据库中找到所需要浏览的数据集
●然后双击数据集的名字,即可打开这个数据集
所有的观测和字段内容将显示在VIEWTABLE窗口中。
另外,FSVIEW程序过程也可用来浏览SAS数据集,还可以编辑。
图7.4调用VIEWTABLE窗口浏览数据集