个人整理的一份SAS入门资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

初识SAS启动用如下方法可以进入SAS系统的窗口运行环境:在Win95或NT环境中,从开始菜单的程序文件夹中找到SAS系统文件夹,从中启动SAS系统。或者生成SAS.EXE的快捷方式(把SAS.EXE用鼠标右键拖到桌面),双击SAS.EXE启动。在Windows3.xx环境中找到SAS系统程序组中的SAS图标双击启动。SASAWS(SAS应用工作空间)启动后,出现如图1的SAS运行界面,术语称为“SAS工作空间(SASApplicationWorkSpace)”。它象其它Windows应用程序一样,在一个主窗口内,包含若干个子窗口,并有菜单条、工具栏、状态栏等。SAS有三个最重要的子窗口:程序窗口(PROGRAMEDITOR)、运行记录窗口(LOG)、输出窗口(OUTPUT)。程序窗口的使用类似于Windows中的记事本程序,可以在其中编辑文本文件,主要是编辑SAS程序。程序可以直接在窗口中键入,插入新行用回车,插入点光标(闪动的竖线)可以用光标键(上下左右箭头、Home、End)移动或用鼠标单击到某一处。按住Shift再按光标键可以加亮显示一块文本,然后用复制、剪切、粘贴命令(Edit菜单中的Cut、Copy、Paste,或工具栏图标)可以复制或移动加亮显示的文本。这些编辑操作具体请参考Windows的有关文档。运行记录窗口记录程序的运行情况,运行是成功还是出错,运行所用时间,如果出错,错在什么地方。运行记录窗口中以红色显示的是错误信息。输出窗口显示SAS程序的文本型输出(图形输出单独有一个GRAPHICS窗口)。输出分页显示。要把光标移动到某一窗口,可以用主菜单中的Window菜单选择要显示的窗口。用功能键F5可以切换到程序窗口,F6可以到运行记录窗口,F7可以到输出窗口。SAS主窗口标题栏下是主菜单。SAS菜单是动态的,其内容随上下文而不同,即光标在不同窗口其菜单也不同。其中,File(文件)菜单主要是有关SAS文件调入、保存及打印的功能。Edit(编辑)菜单用于窗口的编辑(如清空、复制、剪切、粘贴、查找、替换)。Locals(局部)菜单与当前正在进行的操作有关,如果你正在程序窗口中编辑程序,则Locals菜单有提交运行、调回修改等项,如果在运行记录窗口或输出窗口则Locals菜单项根本不出现。Globals菜单内容比较复杂,它可以打开被关闭的程序窗口、运行记录窗口、输出窗口、图形窗口,可以进入SAS提供的各个独立模块。主菜单下是一个命令条和工具栏菜单。命令条主要是用于与SAS较早版本的兼容性,可以在这里键入SAS的显示管理命令。工具栏图标提供了常见任务的快捷方式,比如保存、打印、帮助等等。鼠标光标在某一工具栏图标上停留几秒可以显示一个说明。工具栏图标的解释如下:Submit-提交编辑窗口中的程序New-清空编辑窗口Open-打开文件到编辑窗口。用户指定一个文件调入到编辑窗口内。这个文件从此与编辑窗口相关联,以后的存盘操作将自动存入这个文件。Save-存盘,保存编辑窗口内容,注意如果此窗口已经与一个文件相联系的话此功能将覆盖文件的原有内容而不提示。Print-打印当前窗口内容Printpreview-打印预览。Cut-剪切选定文本。Copy-复制选定文本。Paste-粘贴。注意这些操作是对Windows剪贴板进行的,可以用来与其它Windows应用程序交换文本、数据等。剪切或复制到剪贴板的内容可以被其它应用程序粘贴,其它应用程序放到剪贴板的内容也可以粘贴到SAS的编辑窗口中。Undo-撤销刚才的编辑操作。DOSprompt-临时进入DOS。Browse-打开。Directories-进入Directory(目录)窗口,可以浏览各SAS数据库的内容,可以浏览数据库中的数据集、SAS目录的内容。SAS/ASSIST-启动SAS的菜单驱动界面SAS/ASSIST。Help-启动Windows的帮助系统进入SAS的帮助。简单运行样例假设我们有一个班学生的数学成绩和语文成绩,数学满分为100,语文满分为120,希望计算学生的平均分数(按百分制)并按此排名,可以在程序窗口输入此程序:title'95级1班学生成绩排名';datac9501;inputname$1-10sex$mathchinese;avg=math*0.5+chinese/120*100*0.5;cards;李明男9298张红艺女89106王思明男8690张聪男98109刘颍女80110;run;procprint;run;procsortdata=c9501;bydescendingavg;run;procprint;run;实际上,输入这样包含中文的程序最好办法不是在SAS程序窗口直接输入,因为SAS目前对中文输入的处理还不够完善,好的办法是打开一个其它的编辑程序如Windows中的记事本(在Win95中用开始菜单中的“程序|附件|记事本”启动),在记事本中复制输入的程序,然后到SAS系统程序窗口中使用粘贴命令(用Edit菜单的Paste或工具栏上的粘贴图标),把程序复制到SAS中。也可以在记事本中把编好的程序存盘,然后在SAS程序窗口用File菜单的Open命令打开保存好的程序文件。要运行此程序,只要用鼠标单击工具栏的提交图标,或用Locals菜单的Submit命令。运行后,运行记录窗口出现如下内容:50title'95级1班学生成绩排名';51datac9501;52inputname$1-10sex$mathchinese;53avg=math*0.5+chinese/120*100*0.5;54cards;NOTE:ThedatasetWORK.C9501has5observationsand5variables.NOTE:TheDATAstatementused0.11seconds.60;61run;62procprint;run;NOTE:ThePROCEDUREPRINTused0.0seconds.63procsortdata=c9501;64bydescendingavg;65run;NOTE:ThedatasetWORK.C9501has5observationsand5variables.NOTE:ThePROCEDURESORTused0.05seconds.66procprint;run;NOTE:ThePROCEDUREPRINTused0.0seconds.其中记录了每段程序的运行情况、所用时间、生成数据保存情况。如果有错误还会用红色指示错误。比如,最后的procprint后面的分号如果丢失,记录窗口显示如下错误:67procprintrun;--------181ERROR181-322:Procedurenamemisspelled.错误说明为过程名错拼,但实际上是丢了分号导致print和run连成了一个词。在程序窗口用“Locals|Recalltext”菜单或按F4功能键可以调回程序修改。正确运行后输出窗口出现如下结果:95级1班学生成绩排名3OBSNAMESEXMATHCHINESEAVG1李明男929886.83332张红艺女8910688.66673王思明男869080.50004张聪男9810994.41675刘颍女8011085.833395级1班学生成绩排名4OBSNAMESEXMATHCHINESEAVG1张聪男9810994.41672张红艺女8910688.66673李明男929886.83334刘颍女8011085.83335王思明男869080.5000这里有两页输出,第一页是输入数据后用PROCPRINT显示的数据集,第二页为按平均分排名后的结果。从上面的例子程序可以看出SAS程序的一些特点。SAS程序由语句组成,语句用分号结束。SAS程序中大小写一般不区分(字符串中要区分大小写)。SAS程序中的空格、空行一般可以任意放置,这样我们可以安排适当的缩进格式使得源程序结构清楚易读。SAS程序由两种“步”构成,一种叫数据步(datastep),一种叫过程步(procstep),分别以DATA语句和PROC语句开始。数据步和过程步由若干个语句组成,一般以RUN语句结束。SAS基本概念本节介绍一些SAS特有的概念,其中最重要的是数据集。SAS数据集SAS数据集(SASDatasets)可以看作由若干行和若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间值、字符串、货币值等等。SAS数据集存放在以特殊格式存放的二进制文件中,我们用一个SAS中的逻辑名来使用SAS数据集而不需关心它到底如何存储在磁盘上。比如,1.1.3的例子生成了一个名为C9501的数据集,它的逻辑形式如下表:NAMESEXMATHCHINESEAVG李明男929886.8333张红艺女8910688.6667王思明男869080.5000张聪男9810994.4167刘颍女8011085.8333数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。SAS数据集等价于关系数据库系统中的一个表,实际上一个SAS数据集有时也称作一张表。在数据库术语中一个观测称作一个记录,一个变量称作一个域。在C9501数据集中有5个观测,分别代表5个学生的情况,而每个学生有5个数据,分别为姓名、性别、数学成绩、语文成绩、平均分,所以此数据集有5个变量。从上面看出,数据集要有名字,变量要有名字,所以SAS中对名字(数据集名、变量名、数据库名,等等)有约定:SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大写字母和小写字母不区分。比如,name,abc,aBC,x1,year12,_NULL_等是合法的名字,且abc和aBC是同一个名字,而class-1(不能有减号)、abit(不能有空格)、serial#(不能有特殊字符)、Documents(超长)等不是合法的名字。SAS数据库SAS数据集是各种特殊格式的SAS文件中最重要的一种。另一种重要的SAS文件是SAS目录(Catalog),用来保存各种不能表示成行列结构表格形式的数据,比如系统设置、图象、声音等。多个SAS文件可以放在一起,称为一个SAS数据库(Library)。数据库有一个库名(Libname),其命名遵循上述SAS名字命名原则。在MSDOS/Windows环境中,一个SAS数据库实际是磁盘上的一个子目录(特殊情况下一个数据库可以由几个子目录组成)。为了把库名和子目录联系起来,使用LIBNAME语句。比如,我们在C:\Y1995子目录中保存了几个SAS数据集,可以用如下语句把库名MYLIB与子目录C:\Y1995联系起来:libnamemylibc:\y1995;有三个预定义的SAS数据库:WORK、SASUSER、SASHELP。其中,WORK数据库叫做临时库,存放在其中的SAS文件叫临时文件,这些临时文件当退出SAS系统时会被自动删除。SASUSER库保存与用户个人设置有关的文件,它是永久的,即退出SAS时文件不会被删除。SASHELP库保存与SAS帮助系统、例子有关的文件,是永久的。从上面看出,SAS文件分为临时文件和永久文件:临时文件在退出SAS系统时自动被删除,永久文件在退出SAS系统时不自动被删除。所以,我们把作为中间结果使用的数据集或练习用的数据集作为临时数据集保存,而需要以后再用的数据集则可以保存为永久数据集。临时数据集和永久数据集的区别是:临时数据集可以用单水平名,即只有数据集名,比如C9501,而永久数据集名由两部分组成,前一部分是它的库名,后一部分才是数据集名,两部分中间用小数点连接,比如放在MYLIB库(即C:\Y1995子目录)中的数据集TEACH必须用MYLIB.TEACH表示。这样指定的数据集名在生成时可以放到由库名指定的子目录中,在读取时可以到指定的子目录读取,并且不会被

1 / 94
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功