




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪论:SAS软件入门在当今的信息时代,我们每天都生活在纷繁复杂的数据海洋中,如何管理好这些各式各样的数据,如何从每天接触到的海量数据中提取出对我们工作、生活有用的信息,帮助我们做出有利自己决策的信息,提高工作的效率和排除各种干扰数据对我们造成的伤害就成了一个非常重要的问题。数据已经成为我们工作生活中和外界交流的一种必不可少的语言,读懂数据肯定需要借助一些方法和工具,统计分析理论为我们处理分析数据提供了很多很好的方法和理论。但是面对海量数据的处理分析工作,没有计算机相关的应用软件是不可能完成的,而SAS软件就是一款这样功能强大的应用软件系统。SAS(Statistical Analysis Sy
2、stem)是由美国北卡罗来纳州的SAS institute公司开发的一款统计软件,它被广泛应用在商业、科研和金融领域。SAS不仅具有强大的统计分析功能,而且具有一般数据库软件的数据管理功能。 SAS软件是一个模块化、集成化的大型应用软件系统。它由几十个专用模块构成,如:SAS/BASE,SAS/STAT,SAS/ETS,SAS/OR, SAS/IML和SAS/GRAPH等等, 功能非常强大,包括数据访问、数据储存及管理、图形处理、数据分析、应用开发、运筹学方法、报告编制、计量经济学与预测,医学统计与应用和生存分析等等。 SAS系统基本上可以分为四大部分:SAS数据库部分;SAS分析核心;SAS
3、开发呈现工具;SAS对分布处理模式的支持及其数据仓库设计。 SAS系统主要完成以数据为中心的四大任务:数据访问;数据呈现;数据管理;数据分析。截止2007年,软件最高版本为SAS9.2。运用SAS的技术水平可以分为以下三个层面。第一层面:会使用SAS菜单以及一些菜单界面的SAS模块,如INSIGHT、ANALYST等,了解初步的SAS BASE语句,能用SAS系统作简单的数据分析和加工处理,具有一定的数理统计知识,掌握一定的SAS STAT过程。第二层面:精通SAS BASE,能用SAS语言编写复杂的SAS程序,能用SAS BASE进行大型的、复杂的数据加工整理和展现,掌握SAS和外部数据文件
4、的接口,会进行复杂的统计建模和分析等,初步掌握一种基于SAS的开发工具。第三层面:在一、二层次基础上,进一步掌握SAS/AF、SAS/IML等,能开发基于SAS的数据管理和分析模块。本绪论目的就是让初学者能够快速地熟悉SAS系统的应用,利用SAS语言具有丰富的数据管理功能,对数据读入、输出、复制、拆分、排序、合并、修改和查询等等操作,完成一些简单的数据处理和分析,即快速提升到SAS使用技术的第一层次水平上来。绪1 认识SAS的使用界面绪1.1 SAS的启动在Windows环境中,有如下几种方法进入SAS系统的窗口运行环境:用鼠标打开菜单项:然后从“start”“程序”The SAS Syste
5、mThe SAS System for Windows V8进入SAS系统。如果SAS系统安装在桌面上建立有快捷方式图标,双击图标启动SAS 。绪1.2 SAS的操作界面SAS系统启动后,就进入到SAS的操作界面。操作界面的标准名称为SAS AWS(SAS Application Workspace),中文名称为SAS的应用工作空间。与Windows的其他应用程序一样,SAS AWS是一个多窗口界面:在一个主窗口内包含若干个子窗口,并有标题栏、工具栏、状态栏和菜单栏等,如图绪1-1所示:图绪1 SAS的操作界面1) 子窗口SAS是一个典型的多文字界面系统,因此在其窗口主体内可以有多个子窗口。但
6、当前子窗口只有一个,即标题栏以深蓝色显示的那个。我们所作的操作均是针对当前的子窗口的,如果要对其他子窗口进行操作,则需将其切换为当前子窗口。SAS 系统的子窗口有十几个,你可以在View的下拉菜单中看到这些窗口,但初始状态下能见到的是最常用的五个子窗口:运行记录窗口(Log)、显示结果窗口Output、浏览器窗口(Explore)、输出窗口(Results)和程序编辑器(Editor),通过点击工作区下方的标签或者窗口上面的蓝色标题栏都可以切换当前子窗口。通常,在Editor窗口输入SAS程序,选择菜单项RunSubmit,或者直接点击工具上的按钮就可以运行程序;在Output窗口中查看结果;
7、在graph窗口中查看图形输出结果;如果进行多次输出,Output便以运行先后次序保存了这些运行的结果,这时需要从Results窗口查看结果,用和来表示目录的隐藏和展开,用鼠标可以自由切换;Log窗口给出了程序运行的信息,如果程序有错误,则在相应的位置以不同的颜色给出相应的提示,可以根据提示修改错误。如果Output或Log窗口的信息过多,造成混乱,也可以在主菜单Editor中选择Clear清除当前窗口的信息,或者在命令行中输入Clear也可以。下面是五个常用的子窗口的功能和特点:Output窗口:用功能键或选择菜单项ViewOutput可以打开Output窗口。显示SAS程序中各过程的运行结
8、构。输出结果分页显示,可以保存输出结果为文件。Log窗口:用功能键或选择菜单项ViewLog可以打开Log窗口。记录程序的运 行情况。显示运行是成功还是出错,运行所用的时间,运行过程中数据表的结构,如果出错,错在什么地方等。运行记录窗口中以红色在相应的位置显示错误信息。Results窗口:通常和浏览器窗口(Explore)重叠在一起,直接用鼠标切换或者选择菜单ViewResults可以打开Results窗口。管理SAS程序的输出结果。将提交执行的SAS程序的结果,依次排列为树状结构,每个过程的结果表示为一个结点,展开这个结点进一步看到表示不同输出内容的子结点。用鼠标右键点击结点,可以对该输出结
9、果进行查看、存储、打印和删除等操作。Explore窗口:选择菜单项ViewExplore可以打开Explore窗口。管理SAS逻辑库和存放在逻辑库中由SAS系统创建的数据文件和其他类型的SAS文件。可以创建、查看和删除SAS逻辑库;查看、复制和删除各种SAS文件。Editor窗口:用功能键或选择菜单项ViewEnhanced Editor可以打开Editor窗口,且可以同时打开多个Editor窗口。增强的程序编辑器,可以用不同的颜色显示SAS程序的不同部分,程序的关键字为蓝色,并对SAS命令的语法进行检查;可以自动输进排列程序文本,可以折叠一段程序。其操作类似于Windows在的文本文档的操作
10、,可以对所编辑的文本(主要是SAS程序)进行选中、复制、粘贴、剪切等操作。2)菜单栏SAS主窗口标题栏下是主菜单,一般有File(文件)、Edit(编辑)、View(浏览)、Tools(工具)、Run(运行)、Solutions(解决)、Windows(窗口)和Help(帮助)等菜单。其中,File(文件)菜单主要是有关SAS文件调入、导出、保存、转换及打印等功能。Edit(编辑)菜单用于窗口的编辑(如清空、复制、剪切、粘贴、查找、替换)。View菜单可以打开或切换到SAS的各个工作窗口,如Editor窗口、Explore窗口等。Tools菜单可以打开一些SAS提供的小工具如图像编辑器,还有包
11、含修改SAS运行选择等功能。Run菜单用于程序执行、远程调用等,仅当Editor窗口为当前窗口时有效。Solutions菜单是SAS菜单图形操作界面模块的入口,比如INSIGHT、Analyst(分析家)、Assist等模块的调用都可以通过Solutions菜单,SAS菜单是动态的,其内容随上下文而不同,即光标在不同窗口时菜单也不同。3)工具栏主菜单下是一个命令行窗口和工具栏。命令行窗口主要用于与SAS较早版本的兼容,可以在这里键入SAS的显示管理命令,如上面说的Clear命令。工具栏提供了常见任务的快捷方式,比如保存、剪切、复制、粘贴、运行、帮助等。SAS工具栏也是动态的,其内容跟当前工作窗
12、口一致,不适用当前窗口的快捷菜单会变成灰色。下表是编辑窗口时工具栏的具体解释: 表绪1 编辑窗口上的功能说明名 称功 能New新建当前编辑窗口的一个文件。Open打开文件到当前编辑窗口。用户指定一个文件调入到编辑窗口内,以后的存盘操作将自动存入这个文件。Save 保存当前编辑窗口的内容,注意如果此窗口已经与一个文件相联系,此功能将覆盖文件的原有内容而不提示,如果想不覆盖则要另存为。Print打印当前窗口内容。Print preview打印预览。Cut剪切选定文本或文件。Copy复制选定文本或文件。Paste粘贴选定文本或文件。这些操作都是对Windows的剪切板进行的,所以可以与其他使用Win
13、dows剪切板的应用程序交换文件和数据等。Undo撤销上一步的编辑操作。New Library新建SAS逻辑库。SAS Explorer打开SAS的Explorer管理器窗口。Submit运行(提交)SAS系统的程序。Clear All清空当前窗口内容。Help使用SAS的帮助界面。对待SAS一个如此庞大的操作系统,完全了解SAS的每一个细节是不可能的,所以利用SAS的帮助系统是极为重要的。当然也可以从菜单进入SAS帮助。4)状态栏SAS界面的状态栏中显示当前工作目录,这是文件打开、保存的默认目录。双击此处可以更改当前工作目录。绪1.3 SAS的退出 在SAS应用工作空间中选择菜单File E
14、xit,打开Exit对话框,单击“确定”按钮或者直接单击关闭按钮,都即可退出SAS系统。下面介绍一些常用的功能键,用功能键可以代替对菜单的点击,使用起来方便快速。最常用的功能键有: F1 :显示帮助信息(HELP); 4 :显示已经运行的程式(RECALL); 5 :进入编辑窗口(PGM); 6 :进入日志窗口(LOG);7 :进入输出窗口(OUTPUT);8 :程式提交运行(SUBMIT); 9 :显示功能键(KEYS); 在熟悉了这些功能键的用法之后,还可以根据自己的习惯来定义或修改功能键。例如,可以定义Ctrl+E为功能键来清屏,代替命令Clear。绪2 数据步与过程步在SAS系统中提供
15、了大量的菜单操作,不过它灵活与强大的功能更体现在编程上,本书的实验全部是以程序完成的,所以这里对SAS的菜单操作系统不作介绍,想了解相关内容的读者可以参考其它相关SAS书籍。在SAS程序中,对数据的分析处理可划分为两大步骤: ()将数据读入SAS系统建立的SAS数据集,称为数据步(DATA); ()调用SAS的模块处理和分析数据集中的数据,称为过程步(PROC)。 每一数据步都是以DATA语句开始,以RUN语句结束。而每一过程步则都是以PROC语句开始,以RUN语句结束。当有多个数据步或过程步时,由于后一个DATA或PROC语句可以起到前一步的RUN语句的作用,两步中间的RUN语句也就可以省略
16、。但是最后一个的后面必须有RUN语句,否则不能运行。 SAS还规定,每个语句的后面都要用符号“;”作为这个语句结束的标志。 在编辑SAS程式时,一个语句可以写成多行,多个语句也可以写成一行,可以从一行的开头写起,也可以从一行的任一位置写起。每一行输入完成后,用ENTER键可以使光标移到下一行的开头处,和我们在Windows下进行Word文档编辑相似。例如: data zhouhm; input name $ sex$ math Chinese; cards; 王家宝 男 82 98 李育萍 女 89 106 张春发 男 86 90 王刚 男 98 109 刘颍 女 80 110 彭亮 男 92
17、 105 ; proc print data = zhouhm; proc means data = zhouhm mean; var math Chinese; run;绪2.1 data数据步简介下面介绍SAS系统的data数据步的一般形式、常用语句以及几个常用的功能。绪2.1.1建立SAS数据集利用数据步建立SAS数据集,通常有两种方式可以输入数据:一是将数据排列在变量名串之后;二是通过外部数据文件直接读取。通过程序录入数据的一般语法格式为:DATA; INPUT$D $D $D; CARDS;S11 S12S1kSn1 Sn2Snk;RUN;说明:1)DATA语句指定要建立的SAS数据
18、集名,通常也包括逻辑库名, 如:Sasuser.zhouhm,把建立的数据集zhouhm存入逻辑库Sasuser中。如果句中省略逻辑库名,则表明建立的是一个临时库Work中的临时数据表。2)INPUT语句将下面的数据录入并指定将其赋予给后面定义的每个变量。因此,在INPUT语句中,必须给出有效的SAS变量名和变量类型。可用选项“$”表示该变量为字符型变量,默认则表示为数值型变量,用D来指定数据的宽度,用法可以参考后面具体的实验。3)DATA、INPUT和CARDS三个关键词缺一不可,CARDS后面的是数据行。4)如果CARDS后面的数据行有重复的域,可以在INPUT语句的末尾增加行停留符“”,
19、起到自动换行的功能,以便接着读入后续的数据。例如:data zhouhm;input number name $ ;cards; zhang wang gun zhu;run;直接从外部数据文件中读取的一般语法为: DATA; INFILE; INPUT.; RUN;说明:这种方式中用INFILE语句指定了一个外部数据文件,所有需要输入的数据存放在该文件中,从而取代了上一种方式中的CARDS语句及其下列的一连串数据,当数据比较多的时候,用这一种方式可以使程序看上去显得比较简洁,具有一些优越性。这里INFILE语句位置在INPUT语句之前,而在上一种方式中,CARDS语句位置在INPUT语句之后
20、,这些位置是不能随便更换的。 例如: data zhouhm; infiled:datac2006.txt; input name $ sex $ English Chinese; run;绪2.1.2 数据集的复制与修改用SET语句可以把一个已有数据集复制到另一个新数据集,同时还进行修改。当然如果只是复制数据集,用管理器(SAS Explorer)菜单操作完成即可。SET语句的语法格式有两种,有些功能有重复。格式一的语法形式为: DATA; SET; KEPP; DROP; IFTHEN; RUN;说明:1 )如果后面三个选项都不选,就是将数据集进行简单复制。比如要把临时数据集Work. z
21、houhm复制为永久逻辑库中的数据集Mylib.liuk,程序如下: data mylib. liuk; set zhouhm; run;这个程序中有一个隐含循环过程,SET是读取观测数据的语句,程序在数据步里面反复循环,直到数据集zhouhm最后一个观测数据被读过,循环才结束。SET语句也可以在复制过程的同时给数据集增加一个新的变量: data zhouhm; set zhouhm; meanavg=math*0.4+Chinese/119*100*0.6;run; 2)使用IF.THEN语句可以在复制的同时对生成的数据集进行有条件的修改。比如可以把超过90分的语文成绩改为90分,程序如下:
22、data zhouhma;set zhouhm; if Chinese 90 then Chinese=90;run;3)使用KEEP语句可以指定要保留的变量。程序如下:data zhouhmb;set zhouhm;keep name avg;run;/*这样生成的数据集zhouhmb就只包含name和avg两个变量*/4)使用DROP语句可以指定要丢弃的变量。如上例程序中的KEEP语句换成下面语句即可: drop name math Chinese;/*用这种方法可以取出数据集的一部分列组成的数据集*/5)使用IF语句可以任意指定一个条件,根据这个条件取出数据集中某些行组成新的数据子集。如
23、我们想取出数学分数80分以上,语文分数90分以上的学生的观测值,程序如下:data zhouhm; set zhouhm; if math = 80 and Chinese =90;run;/*上面的语句也可以写成if (math=80)&(Chinese=90);这样更简洁。*/格式二的语法形式为: DATA; SET; IFTHEN; RUN; /* SET后面的还可以放在DATA语句之后*/ 语句说明:选项包括KEEP=,表示引入时只要指定的变量;DROP=,表示不引入指定的变量;OBS=,表示读取观测时读到指定的序号为止(注意是以序号为准而不是观测数);FIRSTOBS=,表示从指定序
24、号的观测值开始读取而跳过之前的观测值不读。 绪2.1.3 数据集的拆分使用SET和OUTPUT语句可以根据某种分类条件把数据行分别存放到不同的数据集中去,其语法格式为: DATA ; SET; SELECT() WHEN() OUTPUT; WHEN() OUTPUT; END RUN;例如,如果想把数据集zhouhm中的所有男生的观测值放在数据集cm中,而把其余女生的观测值放到cf中,程序如下: data cm cf; set zhouhm; select(sex); when(男) output cm; when(女) output cf; otherwise put sex=wrong;
25、 end; drop sex; run;在这个程序里有两点需要注意:1)在DATA语句中,我们指定了两个数据集名,而指定数据集名的个数需要根据你拆分的个数保持一致;2)程序中用SET语句引入了一个数据集,如何将这个数据集的观测值分配到两个结果数据集中呢?关键在于SELECT语句和OUTPUT语句。SELECT语句指定变量,而它附带的when 语句确定条件;OUTPUT语句是可执行语句,它执行命令把当前观测值写到语句指定的数据集中去,这样就根据SELECT的结果把不同性别的观测值分别放到两个不同数据集中去了。 绪2.1.4 数据集的合并 数据集的合并根据方向的不同可以分为纵向合并和横向合并,纵向
26、合并一般是多个数据集中的变量是一致的,但观测值的序号数不一致,而横向合并恰好相反,是数据集中观测值的序号数一致但变量是不一致的。1纵向合并如果两个(或多个)数据集中包含了同样的变量,就可以进行数据集的纵向合并。纵向合并的方法相当简单,就是使用SET语句就可以将几个结构相同的数据集上下连接到一起。其一般语法格式如下: DATA; SET(IN=) (IN=).; IF=1 THEN=; IF=1 THEN=; . RUN;例如,在前面我们把zhouhm数据集按男、女拆分成m和cf两个数据集并抛弃了性别变量,可以用如下程序连接两个数据集并恢复性别信息:data new;set cm(in=male
27、)cf(in=female);if male=1 then sex=男;if female=1 then sex=女;run;注意:在数据步中,如果观测值来自cm,则变量male值为1,如果观测值来自cf,则变量female值为1,这样可以使用这两个变量的值定义新变量sex。从这个运行的结果我们可以知道,用数据集选项中的IN=指定的变量并不能直接进入结果数据集而只能用于数据步程序运行中。2横向合并两个(或多个)数据集中如果包含了同样的一些观测值的不同变量,且这多个数据集的相同的观测值是按顺序一一对应,就可以用带有MERGE语句的数据步把这些数据集依据那些相同的观测值横向合并到一个数据集中,其一
28、般的语法格式为: DATA; MERGE; BY; RUN;假如数据集cu包含学生的姓名、性别,数据集cv包含学生的数学成绩,数据集cw包含学生的语文成绩,且各个数据集中的观测值都是按顺序一一对应的,就可以用如下程序把它们横向合并到一个新的数据集Lwh中:data Lwh;merge cu cv cw;run;语句说明:进行横向合并数据集时要注意到,如果各数据集的观测顺序并不一样时,就会把不同人的成绩合并到一起,这样就会弄乱了整个数据集。所以横向合并数据集时一般要采用按关键字合并的方法,即先把每个数据集按照相同的、能唯一区分各观测值的一个(或几个)变量(BY变量)排序,然后用BY语句和MERG
29、E语句联合使用,这样即使原来观测顺序不一致时也可以保证横向合并的结果不会出错。绪2.2 PROC过程步简介 介绍了data数据步之后,下面接着来介绍SAS系统的PROC过程步的一般形式、常用语句以及几个常用的过程。绪2.2.1 PROC过程步的一般形式SAS过程步的一般形式为: PROC DATA=; /; /; RUN;绪2.2.2 过程步常用语句 过程步一般伴随着具体的数据分析处理过程进行,所以在过程步的语法格式中重点是“过程语句/选项”,下面就介绍几个常见的具体过程语句,更详细的用法读者可以在以后实验中用到时参考相应的书籍再仔细体会。(1)VAR语句VAR语句在大多数过程中都用来指定分析
30、变量,其格式为:VAR.;例如: var English Chinese;(2)BY语句和CLASS语句 BY语句(CLASS语句)在过程中通常用来指定一个或几个依据分类的变量,根据这些分类变量把观测值分组然后对每一组观测值分别进行本过程指定的分析。其语法格式为: BY; 在使用带有BY语句的过程步之前先用SORT过程对数据集排序。如假设已经把zhouhm数据集按sex排序,则下列PRINT过程可以把男、女生分别列出: proc print data=zhouhm; by sex; run;(3)OUTPUT语句 在过程步中经常用OUTPUT语句指定输出结果存放的数据集。不同过程中把输出结果存入数据集的方法各有不同,OUTPUT语句是用得最多的一种,其一般格式为:OUTPUT OUT=;其中用OUT=给出了要生成结果的数据集的名字,用“关键字=变量名”的方式指定了输出那些结果(关键字是如MEANS过程中的MEAN,VAR,STD那样的要输出的结果名),等号后面的变量名指定了这些结果在输出数据集中叫什么名字。例如:proc means data=zhouhm; var English; output out=result n=n means=meanEnglish var=varEnglish;run;proc print data=result; ru
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锰氧化物纳米结构用作锌离子电池电极材料的研究
- 企业公司饭堂管理办法
- 功能性姿势练习对华尔兹选修课学生身体稳定性影响的实验研究
- 乡镇督查工作管理办法
- 保密书刊订阅管理办法
- 仪器英文命名管理办法
- 乡村街道店铺管理办法
- 企业密集地区管理办法
- 信息登记管理办法试行
- 计生避孕药具试题及答案
- 2024年创意市集承办协议
- 合同能源托管合同
- 营养专科护士总结汇报
- 仓库转让合同范本
- VTE防控管理相关制度(VTE患者管理与随访的相关管理制度)
- 职业技能竞赛-网络与信息安全管理员理论题库(附参考答案)
- 2023年山东青岛局属高中自主招生物理试卷真题(含答案详解)
- 2024年中华全国律师协会招聘5人历年(高频重点复习提升训练)共500题附带答案详解
- 房地产 -2024年第二季度大连写字楼和零售物业市场报告
- 档案管理借阅制度
- 重力式(仰斜、俯斜)挡土墙计算软件
评论
0/150
提交评论