《《SAS统计分析基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《SAS统计分析基础》PPT课件.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Slide 1现代统计分析与SAS入门入门Slide 2学习目标学习目标1、了解、了解SAS系统的功能特点;系统的功能特点;2、熟悉、熟悉SAS系统的操作环境;系统的操作环境;3、掌握、掌握SAS系统的有关概念;系统的有关概念;4、学会使用、学会使用DADA Step(数据步数据步)建立数据集,能对现有建立数据集,能对现有数据集进行读入、修改、拼接及合并;数据集进行读入、修改、拼接及合并;5、学会使用、学会使用PROC Step(过程步过程步)的几个重要过程对数据的几个重要过程对数据集进行常规的统计分析和显示;集进行常规的统计分析和显示;6、学会自己查看系统帮助;、学会自己查看系统帮助;7、能
2、够利用、能够利用SAS系统处理常见的研究数据系统处理常见的研究数据。Slide 3基本内容基本内容1、SAS概述;2、SAS显示管理系统;3、SAS编程基础:SAS语句;SAS表达式;SAS常量;SAS变量;SAS算符;SAS函数;4、DADA Step(数据步);5、PROC Step(过程步);6、常用统计分析模块。Slide 4第一章第一章 SAS系统简介系统简介1、SAS的含义的含义 Statistical Analysis System2、SAS系统系统数据处理和统计分析领域的国际标准软件世界领先的数据分析和信息系统3、SAS软件的发展软件的发展SAS系统于1966年由美国North
3、 Carolina州立大学开始研制,1976年成立美国SAS软件研究所公司。1998年已推出适用于多种操作系统的版本,现在最新版本是。目前,世界上有120多个国家和地区的31 000多个机构在使用SAS系统,直接用户超过3 500 000。SAS系统在世界范围内被广泛地应用于政府、科研、教育、生产和商业等不同领域,发挥着积极的作用。Slide 54、SAS系统的特点系统的特点SAS系统是用于数据分析与决策支持的大型集成式模块化软件包,是一种组合软件系统。核心部分是核心部分是Base SAS软件软件,其它可选模块有:SAS/STAT软件、SAS/GRAPH软件、SAS/IML软件、SAS/OR软
4、件、SAS/ETS软件等30多个。1 1、操作简便、操作简便 SAS的宗旨是为所有需要进行数据处理、数据分析的非计算机专业人员提供一种易学易用、完整可靠的软件系统。用户把要解决的问题用SAS语言(近乎自然英语的非过程语言)表达出来,组成SAS程序,提交给SAS系统就可以解决所提出的问题。2 2、SASSAS系统将数据管理与统计分析溶为一体系统将数据管理与统计分析溶为一体 SAS程序的结构由两个基本步骤任意组合而成。DATA步用于对数据的加工处理;PROC步用于分析数据和编写报告。SAS系统克服了通常软件或偏重于数据管理功能或偏重于统计分析的弊病,把数据管理与统计分析有机地结合在一起。3 3、适
5、用性强、应用面广、适用性强、应用面广 SAS系统适用于任何经验的人员(初学者或有经验的用户);适用于任何类型的数据;适用于几乎是任何应用的需要;适用于任何计算机环境;扩展性能强。Slide 65 5、SASSAS软件的启动:软件的启动:用如下方法可以进入SAS 系统的窗口运行环境:菜单方式:菜单方式:依次点击依次点击“开始开始”-“程序程序”-“The SAS System”-“The SAS System for Windows v6.12”即即可。可。快捷方式:快捷方式:在在Windows桌面系统下双击桌面系统下双击 SAS图标图标 ;Slide 76 6、SASSAS工作界面工作界面Sl
6、ide 8程序编辑窗口运行记录窗口结果输出窗口命令窗口Results窗口Slide 9在命令窗口输入在命令窗口输入“keys”后情况后情况命令行命令行命令窗命令窗(条条)Slide 107 7、SASSAS显示管理系统显示管理系统SAS显示管理窗口可分为两大类:基本窗口和其它窗口。基本窗口(三个)基本窗口(三个):PROGRAM EDITORPROGRAM EDITOR窗口窗口(程序编辑窗,缩写为程序编辑窗,缩写为PGM)PGM);LOGLOG窗口窗口(登录窗或日志窗登录窗或日志窗);OUTPUTOUTPUT窗口(输出窗);窗口(输出窗);Slide 11PGMPGM窗口:窗口:输入和编辑文本
7、,包括SAS语句;提交SAS语句;拷贝一个外部文件到PGM窗口,或拷贝窗口内容到外部文件上;LOGLOG窗口窗口 LOG窗口包含SAS日志,它是当前SAS会话的记录。一个典型的记录显示:在当前会话中发布的SAS语句;注释、警告和出错信(红色红色-错误错误 兰色兰色-正常正常 绿色绿色-警告警告)OUTPUTOUTPUT窗口窗口:这个窗口也称为LISTING窗口,它包含由大多数SAS过程产生的输出。在SAS会话期间相继产生的输出都附加到OUTPUT窗口内容中。其它窗口其它窗口:除了三个基本窗口以外,显示管理包含很多其它窗口。各个窗口均可在任何一个窗口的命令行键入相应的命令来打开。下面按字母顺序列
8、出包括三个基本窗口在内的主要显示管理窗口,并给出简单描述。Slide 12LOG窗OUTPUT窗PGM窗Slide 13常用显示管理窗口及调用命令常用显示管理窗口及调用命令Slide 148、显示管理命令、显示管理命令SAS显示管理系统包括众多的命令让用户完成各种任务。根据发布命令的位置可将其分为命令行命令和行命令。显示管理命令按习惯是从命令行command=输入相应的命令发布的,因此称这些命令为命令行命令命令行命令;而一些文本编辑命令按习惯是从显示的行号上发布的,因此这些命令称为行命令行命令(Windows环境下较少应用)。几个重要的命令行命令命令行命令:1)窗口切换命令:PGM|F5:切换
9、到PGM窗口 LOG|F6:切换到LOG窗口 OUTPUT|F7:切换到OUTPUT窗口 2)编辑命令:CLEAR|Ctr+E:清除当前工作窗口的所有信息所有信息 RECALL|F4:将运行过的程序调回到PGM窗口 SUBMIT|F8:将PGM窗中的所有程序提交运行 HOME:将光标移到命令行Slide 15保存文件:保存文件:方法方法1(命令法命令法):FILE命令命令:将当前工作窗口的内容写到外部文件中。例如:回车后将信息写到D盘根目录下一个名为的文件上。方法方法2(菜单法菜单法):“File”“Save As”,输入文件名“Myfile”点“保存保存”即可。打开文件:打开文件:方法方法1
10、(命令法命令法):INCLUDE|INC:将指定的外部文件调入PGM窗。例如:INC 回车后将D盘根目录下一个名为 的外部文件调入PGM窗。注1:该命令只能在PGM窗使用;如果PGM窗已有文本,则该命令将指定的外部文件调入窗口文本的后面。方法方法2(菜单法菜单法):“File”“Open”,找到相应的文件,点“打开打开”即可。9、文件的保存与打开、文件的保存与打开Slide 16上机练习题上机练习题1、SAS常用的窗口有哪三个?请在三个基本窗口之间切换并记住这些命令。2、请在PGM窗口中输入如下几行程序,提交系统执行,并查看OUTPUT窗和LOG窗中内容,注意不同颜色的含义;并根据日志窗中的信
11、息修改完善程序。dats ex1;inputt name$age sex;cards;xiaomin 19 1 lidong 20 1 nana 18 2 ;prod pront dats=ex1;run;proc print dats=ex1;Var name age sex;run;Slide 173、在D:盘根目录下建立一个文件夹,取名为:SASEX2004。将上题上题(题题2)修改好的程序、输出结果及日志窗中的内容保存在前面建立的文件夹中。上机练习题上机练习题(Cont.)Slide 18第一章结束第一章结束Slide 19第二章第二章 SAS编程语言基础编程语言基础 同其它计算机语言
12、一样,SAS语言也有它自己的语法:关键词和连结关键词与其它辅助信息的规则。用户使用SAS语言来定义数据和规定对数据怎样做统计分析的问题。由SAS语句组成的序列称为SAS程序。1、SAS语句语句 一.SAS语句的含义 我们先来看一个实例:Slide 20 例1:我校2001级某班16名学生4门功课成绩表如下,试计算这16名学生英语、生理的平均得分。Slide 21 DATADATA scorescore;INPUTINPUT no x1 x2 x3 x4$no x1 x2 x3 x4$;CARDSCARDS;RUNRUN;200108732001087368 71 6568 71 65良好200
13、1087474 61 6874 61 68良好2001087573 75 4673 75 46良好2001087679 80 7979 80 79优秀2001087775 71 6875 71 68良好2001088485 85 8785 85 87优秀2001088578 79 7578 79 75优秀2001088680 76 7980 76 79优秀2001088785 80 8285 80 82良好2001088877 71 7577 71 75良好2001088967 73 7167 73 71优秀2001089075 81 7075 81 70良好2001111870 54 757
14、0 54 75及格2001089370 66 8470 66 84及格2001089462 73 6562 73 65及格2001090982 70 7982 70 79优秀 PROC PRINT Data=Data=scorescore;VAR no x1 x2 x3 x4;RUN;PROC MEANS Data=Data=scorescore;VAR x2 x3;RUN;data ex1;input name$age sex;cards;xiaomin 19 1 lidong 20 1 nana 18 2 ;proc print data=ex1;run;proc print data=e
15、x1;Var name age sex;run;第一章练习题Slide 22 在这个例子中,我们看到:DATA,INPUT,CARDS,PROC,VAR,RUN是关键词;score是数据集名;no,x1,x2,x3,x4是变量名;MEANS是过程名;Data=是MEANS语句中的选项。现在,我们给出SAS语句的定义:SAS语句是由关键词、语句是由关键词、SAS名、特殊字符或运算符组成并以名、特殊字符或运算符组成并以分号分号结尾结尾的字符串的字符串。The MEANS Procedure Variable N Mean Std Dev Minimum Maximum -Slide 23 二.几个
16、概念 关键词关键词 位于句首的用以说明语句类型和功能的单词称为SAS语句的关关键词键词。它是SAS语句的主要成份。如:PROC、DATA、VAR、RUN等。名名 SAS语句中出现的SAS名有很多种类,如变量名、SAS数据集名等。SAS命名规则命名规则:1)由1至8个字符组成;2)由三种字符构成:英文字母A-Z,a-z,下划线_,数字0-9;3)每个名字的第一个字符不能为数字;4)SAS系统保留了一些名字作为特殊的变量名,这些变量名的开头和结尾都用特殊字符下划线表示(如_N_、_ERROR_等)。Slide 24 3.特殊字符和运算符特殊字符和运算符 特殊字符包括:圆括号()、单引号、双引号“、
17、美圆符号$、列指针控制符、行指针控制符#、冒号:、句号.、分号;等;运算符包括:加号+、减号-、乘号*、除号/、乘方*等,等号=、不等号=、小于号、小于等于号=等。三.语句格式 SAS语句的基本格式是语句的基本格式是:KEYWORD Parmeter item|item|item options;关键词 参数 选项1 选项2 选项3 选择值关键词:用以说明语句类型和功能的单词;参数:要求用户提供的信息。不用括号,不是任选项。Slide 25 例如:INPUT x y z;其中:INPUT是关键词,它说明要把数据提供给哪些变量。后面跟的变量名x、y、z 都是参数,即要求用户提供的信息。表示参数可
18、以不止一个。选项1|选项2|选项3 中的竖线“|”用来分隔各选择项,表示其中任选一个;方括号内的信息是可以选择的。例如:PROC MEANS data=store maxdec=3;其中:PROC是语句的关键词,它说明本语句是过程语句;MEANS是过程名,它说明要调用的过程名称;data=、maxdec=都是选项的关键词,等号后面是用户提供的选择信息。Slide 26 一系列SAS语句组成一段SAS程序。SAS程序中的语句可分为两类步骤:DATA步和PROC步。这两类步骤是所有SAS程序的模块。通常用DATA步产生SAS数据集而用PROC步对SAS数据集内的数据进行分析处理并输出结果。一段SA
19、S程序可由一个DATA步或一个PROC步组成;或者由DATA步和PROC步两部分组成;也可由多个DATA步和多PROC步组成。2、SAS程序程序Slide 27 DATA步包括:创建一个或几个新的SAS数据集的语句和创建数据集所必须的运算操作语句。每个DATA步以DATA语句开头,可以包含任意多个SAS程序语句。一个DATA步的基本语句有:DATA语句:表示创建SAS数据集;INPUT语句:对SAS数据集中的变量进行描述;CARDS语句:用来指示数据行的开始;语句:表示数据行的结束。请看如下的例子:步步(数据步数据步)Slide 28 DATADATA scorescore;INPUTINPU
20、T no x1 x2 x3 x4$no x1 x2 x3 x4$;CARDSCARDS;RUNRUN;200108732001087368 71 6568 71 65良好良好200108742001087474 61 6874 61 68良好良好200108752001087573 75 4673 75 46良好良好200108762001087679 80 7979 80 79优秀优秀200108772001087775 71 6875 71 68良好良好200108842001088485 85 8785 85 87优秀优秀200108852001088578 79 7578 79 75优
21、秀优秀200108862001088680 76 7980 76 79优秀优秀200108872001088785 80 8285 80 82良好良好200108882001088877 71 7577 71 75良好良好200108892001088967 73 7167 73 71优秀优秀200108902001089075 81 7075 81 70良好良好200111182001111870 54 7570 54 75及格及格200108932001089370 66 8470 66 84及格及格200108942001089462 73 6562 73 65及格及格200109092
22、001090982 70 7982 70 79优秀优秀 DATA关键词告诉系统,要创建一个SAS数据集,命名为score INPUT关键词告诉系统,数据在程序流中,并且指明数据所对应的变量名及类型。$符号说明它前面的一个变量为字符型。CARDS关键词告诉系统,其后紧随着的便是数据。数据行,数据源中不能有分号(;)。;表示数据行的结束Slide 29PROC步要求SAS系统从过程库中调出一个过程模块并执行它。PROC步以PROC语句开始,其后紧跟一个过程名(英文关键字);过程名(英文关键字);一个过程步可以包含多个相应的SAS语句。例如:PROC MEANS Data=score;VAR x2
23、x3;PROC PRINT Data=score;VAR x1 x3 x4;注意:一个完整的SAS程序必须以RUN语句结尾方能提交运行。步步(过程步过程步)Slide 303、编写、编写SAS程序程序 DATADATA scorescore;INPUTINPUT no x1 x2 x3 x4$no x1 x2 x3 x4$;CARDSCARDS;RUNRUN;200108732001087368 71 6568 71 65良好2001087474 61 6874 61 68良好2001087573 75 4673 75 46良好2001087679 80 7979 80 79优秀2001087
24、775 71 6875 71 68良好2001088485 85 8785 85 87优秀2001088578 79 7578 79 75优秀2001088680 76 7980 76 79优秀2001088785 80 8285 80 82良好2001088877 71 7577 71 75良好2001088967 73 7167 73 71优秀2001089075 81 7075 81 70良好2001111870 54 7570 54 75及格2001089370 66 8470 66 84及格2001089462 73 6562 73 65及格2001090982 70 7982 70
25、 79优秀 PROC PRINT Data=Data=scorescore;VAR no x1 x2 x3 x4;RUN;PROC MEANS Data=Data=scorescore;VAR x1 x2 x3;RUN;以上一个DATA步和两个PROC步就构成了一个SAS程序。Slide 31上面上面SAS程序的输出结果如下:程序的输出结果如下:The SAS System 0909:2222 Monday,August 1616,20042004 1010 Obs no x1 x2 x3 x4 1 1 2001087320010873 6868 7171 6565 良好 2 2 200108
26、7420010874 7474 6161 6868 良好 3 3 2001087520010875 7373 7575 4646 良好 4 4 2001087620010876 7979 8080 7979 优秀 5 5 2001087720010877 7575 7171 6868 良好 6 6 2001088420010884 8585 8585 8787 优秀 7 7 2001088520010885 7878 7979 7575 优秀 8 8 2001088620010886 8080 7676 7979 优秀 9 9 2001088720010887 8585 8080 8282 良
27、好 1010 2001088820010888 7777 7171 7575 良好 1111 2001088920010889 6767 7373 7171 优秀 1212 2001089020010890 7575 8181 7070 良好 1313 2001111820011118 7070 5454 7575 及格 1414 2001089320010893 7070 6666 8484 及格 1515 2001089420010894 6262 7373 6565 及格 1616 2001090920010909 8282 7070 7979 优秀 The MEANS Procedur
28、e Variable N Mean Std Dev Minimum Maximum -x2 1616 x3 1616 -Slide 32(1)书写格式书写格式SAS语句可以从一行上的任意位置开始;几个SAS语句可以写在同一行上;一个语句也可以写成几行,只要语句中的单词不被断开即可;在一个语句中各项之间至少要有一个空格;一些特殊符号(如等号=,加号+)可以占据空格的位置,如:total=a+10;与 total=a +10;是等价的;SAS语句用大写字母、小写字母或大、小写混合书写均可。(2)注释注释 SAS语句中有一个注释语句,形式为:/*注释内容*/凡是空格可以出现的地方,以上形式的注释语句
29、也能出现。例如:PROC SORT/*对数据集排序*/;就是一个合法的语句。程序的书写方法程序的书写方法Slide 33(3)变量的缩写变量的缩写 变量在数据集中的实际位置按它们第一次出现的次序被定义。例如:前面的例子的INPUT语句中,no被定义为第一个变量,接着是x1,x2,x3,x4。在一些SAS语句中,需要对变量进行集中处理,SAS采用如下的方式来解决这个问题:形如x1,x2,x3.xn的带序号的变量名,缩写为x1-xn;形如x1,a,b,x2,x3,d的不带序号的变量名,缩写为x1-d;特殊的SAS变量,_numeric_ 表示所有数值变量;_character_ 表示所有字符变量;
30、_all_ 表示所有变量。Slide 34 请看上面的数据集,这些变量在数据集中的位置是:no x1 age x2 x3 x4 x5 下面以VAR语句为例说明SAS变量缩写引用中-与-区别:vVAR x1-x5;表示只引用变量x1 x2 x3 x4 x5,与VAR x1 x2 x3 x4 x5;语句等价。vVAR x1-x5;表示引用在位置上从x1到x5之间的所有变量x1 age x2 x3 x4 x5,与 VAR x1 age x2 x3 x4 x5;语句等价。Slide 35程序的执行 当我们在PGM窗口将程序输入完毕,检查修改后就可以提交给SAS系统执行。在LOG窗口显示程序执行中记录的
31、信息,它包括:执行哪些语句;生成的数据集中变量个数及观测个数是多少;程序执行所消耗的时间及出错信息等。SAS过程的输出 前例提交执行以后,DATA步产生一个名为score的SAS数据集;后面的两个PROC步产生的结果输出到OUTPUT窗口(如前例的输出)。程序的的执行与输出程序的的执行与输出Slide 364 SAS表达式表达式 前面简单介绍了SAS语句和SAS程序的构成。要灵活的完成日常的数据管理和统计分析工作,还得很好掌握SAS表达式。SAS表达式是由一系列算符和运算对象形成的一个指令集,它被执行后产生一个目标值。运算对象运算对象是SAS变量变量和SAS常数常数;算符是特殊的运算符、函数和
32、括号。表达式分为简单表达式和复合表达式。下列式子都是表达式。X+1 3 LOG(X)LOG10(X)P/A*100 AGE100 1-EXP(N/(N-1)A=B=C STATE=CA 在在DATA步中,为了对变量进行变换,建立新变量、条件处步中,为了对变量进行变换,建立新变量、条件处理、计算新值及指定新值,都需要使用理、计算新值及指定新值,都需要使用SAS表达式。表达式。一.SAS常数 SAS常数用来表示固定的值,它或者是一个数字,或者是用引号引起来的字符串、或者是其它特殊记号。Slide 37 SAS使用的常数有五种类型:数值常量、字符常量、日期、时间和日期时间常量、十六进制数值常量、十六
33、进制字符常量。我们主要介绍数值常量和字符常量。1.1.数值常量:数值常量:一个数值常量就是出现在SAS语句里的数字。很多数值常量完全像通常的数据值一样书写。数值常量可以包括小数点,负号和E记号。例如:。用E表示法时,如2E4,它表示 ,或者20000。SAS系统中,缺失值缺失值用小数点来(.)表示。Slide 382.2.字符常量:字符常量:字符常量是由(单)引号括起来的1200个字符组成的字符串.例如,在下面的语句中:IF name=TOM THEN DO;TOM就是一个字符常量。如果字符常量含有引号,则用两个连续的单引号来处理。例如,字符值为TOMS时,输入:name=TOMS 缺失的字符
34、常量值缺失的字符常量值为空字符,空字符,表示为(两个连续的单引号)。Slide 39二 SAS变量:描述给定特征的数值集合的指标称为变量。SASSAS变量的特征变量的特征:变量名、类型、变量名、类型、存储长度、标签、输入格式、输出格式存储长度、标签、输入格式、输出格式存储长度存储长度指变量在存储时所需要的字节数。默认情况下所有的变量都定义为8字节。字符变量的长度可为1-200字节,数值变量的长度可为3-8字节。标签标签是对变量的补充说明,可以为任意字符,长度可多达257个字符。Slide 40SAS数据集数据集(部分部分)ObservationsVariablesValueSlide 41输入
35、输出格式输入输出格式原始数据值原始数据值SAS变量的值变量的值格式化的格式化的SAS变量值变量值Informatdollar10.Formatcomma8.548,23125JAN20041609501/25/2004InformatDate9.FormatMMDDYY10.$548,231548231Informat(输入格式)(输入格式)Format(输出格式)(输出格式)Slide 42日期和时间数据的存储日期和时间数据的存储SAS采用数值数值存储日期和时间形式的数据。在默认情况下,SAS系统以0代表1960年1月1日0时。其它日期在SAS系统中被存储为与该日期相差的天数。例如,1960
36、年1月3日,在系统中存为2。2004年1月25日,在系统中存为16095。注意:为了使数值型变量显示日期形式,必须使用日期型的输出格式,同样地为了以日期形式输入日期必须使用日期型的输入格式。Slide 43SAS变量分为两类,数值变量(Num)与字符变量(Char)。数值型变量只能取数值为值。可以有正负号及小数点(+、),但不能有逗号(,)。数值型是SAS的默认变量类型,默认长度为8位。字符型变量字符型变量可以取字符、字母、特殊字符以及数字为值。在DATA步中某些SAS语句所使用的变量名后跟一个美元符号($),即表明该变量是字符型变量,如name$或name$。如果变量后不加$符号,SAS将该
37、变量认为数值型。因此,对字符型变量应加$符号予以说明。在SAS中一个字符变量的取值可以有1200个字符长,默认长度为8个字符长。Slide 44三 SAS算符 SAS算符是一些符号,它们要求作比较、算术运算或逻辑运算。SAS使用两种主要类型的算符:前缀算符和中缀算符v 前缀算前缀算符用于变量、常数、函数或者用括号括起来的表达式。例如:+Y -25 -COS(A)-(x1+x2-100)前缀算符有:加号,减号,NOT和符号符号。v 中缀算中缀算符作用在算符两边的运算对象上,例如6(GT)大于 =(GE)大于等于 =(LE)小于等于(1)算术表达式的比较 考虑表达式:A=B。如果A的值为4,B的值
38、为3,则表达式A=B的值为0(假);若A的值为5,B的值为9,则表达式AADAMS是真的,它与表达式 ANDRE,CANDRE,CLYDE一样,它们的值都是1。3.3.逻辑算符逻辑算符:逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接一系列比较式。逻辑算符包括:&(AND)与;|(OR)或;(NOT)非 例如,age=25 AND sex=男 或 age=25&sex=男 age=25 OR sex=男4.4.运算次序运算次序:关于运算次序,SAS有如下的三个准则:准则1:在括号里的表达式先计算;准则2:较高优先级的运算先被执行。Slide 47 下面是各运算符的优先等级(排在
39、前面的优先):1级级 *、(not)2级级 *、/3级级 +、-、4级级 、=、5级级&(and)6级级|(or)准则3:对于相同优先级的算符,左边的运算先做。但有两个例外:1)对第一级,右边的先做;2*3*2 2*(3*2)2)当两个比较算符围着一个量时,则等价于一个and运算。例如:12age20 12age and ageSAS Language-SAS FunctionsSlide 53上机练习题上机练习题1、SAS常用的窗口有哪三个?请在三个基本窗口之间切换并记住这些命令。2、请在PGM窗口中输入如下几行程序,提交系统执行,并查看OUTPUT窗和LOG窗中内容,注意不同颜色的含义;并
40、根据日志窗中的信息修改完善程序。dats ex1;inputt name$age sex;cards;xiaomin 19 1 lidong 20 1 nana 18 2 ;prod pront dats=ex1;run;proc print dats=ex1;Var name age sex;run;Slide 54第二章结束第二章结束Slide 55第三章第三章 DATA步及其语句步及其语句 为了利用SAS系统对数据进行分析,必须将数据转化为SAS数据集的形式。SAS系统提供了功能很强的数据管理模块,通过数据步(DATA STEP)实现对数据的管理。数据步在SAS系统中具有十分重要的地位,
41、概括起来其内容主要有:录入数据并转化为录入数据并转化为SAS数据集;数据集;编辑数据,包括检查和修改数据中的错误、计算新变量等;编辑数据,包括检查和修改数据中的错误、计算新变量等;将数据写入磁盘;将数据写入磁盘;对已有的数据集进行管理。如取子集、合并及更新数据集等。对已有的数据集进行管理。如取子集、合并及更新数据集等。学习和掌握好SAS数据集是用SAS系统分析数据的前提,因此必须熟练掌握SAS数据集的有关操作。Slide 561 SAS数据步数据步(DATA STEP)例1:DATA da1;INPUT x1 x2 x3;y=x1+x2+x3;CARDS;8 4.1 1.1 ;RUN;以上这些
42、语句组成DATA步。提交后,SAS系统创建一个名为da1的SAS数据集。它包含5个观测、4个变量。DATA步步是用是用DTAT语句开始的一组语句开始的一组SAS语句。语句。Slide 57用于DATA步的SAS语句共有50多个,一般按性质可分为三类:1、可执行语句(X),它是可以产生某种操作的语句。INPUT语句,赋值语句(如,y=x1+x2)等;2、定位语句(P),它们在执行时并不产生任何操作,但它们在数据步中具有重要地位。DATA语句,CARDS语句等;3、说明语句(D),用于给系统提供附加的信息,它们在数据步中的地位通常并不重要。FORMAT语句,INFORMAT语句等;Slide 58
43、 利用SAS系统对数据进行统计分析,必须以SAS数据集为基础。因而在进行分析之前必须先将要处理的数据按SAS系统的格式存放在一个数据文件中,这个过程就是建立SAS数据集。SAS数据集实质上是一张关系型数据表,即通常所见到的二维表格,一行表示一个观察(Observation),一列表示一个变量(Variable),行列的交叉点就是该观察在该变量上的取值。参见下页示意图。2 SAS数据集的建立数据集的建立Slide 59SAS数据集数据集(部分部分)ObservationsVariablesValueSlide 60SAS数据集分为两类:一类是临时数据集临时数据集,另一类是永久数据集永久数据集。一
44、.临时数据集的建立 以单个词作为名字的以单个词作为名字的SAS数据集称为临时数据集。数据集称为临时数据集。在SAS系统运行期间,临时数据集一经建立,则该临时数据集一直存在;如果用户退出SAS系统,则临时数据集立即被删除。用户重新进入SAS系统后则不能再调用这些已被删除的临时数据集了。Slide 61根据数据的存在形式,临时数据集的建立可分为以下几种情况:1.数据在作业流中 例1就是直接用SAS语句从作业流中输入数据,从而建立所需要的SAS数据集的一个例子。一般的形式如下:DATA语句;语句;INPUT语句;语句;(用于用于DATA步的其它步的其它SAS语句语句)CARDS语句;语句;数据行数据
45、行;RUN;Slide 622.数据在外部文本文件中例2:在c:txt子目录下存放有一个名为的文件,内容如下:(第一列为姓名,第二列为电话)欲用上述数据来建立一个SAS数据集,可用下面的DATA步来完成:DATA da2;INFILE c:txtid.txt;INPUT name$phone;RUN;Jinhua 48332728 jianghon 47586978taoxian 23459734zhaoheng 85743627shanmei 12395863xuli 74857362xinwei 23485748Slide 63 从外部文本文件中读入数据来建立SAS数据集的一般形式为:DA
46、TA语句;INFILE语句;(用于DATA步的其它SAS语句)RUN语句;这里,需要注意两点:不需要CARDS语句。INFILE语句的作用是打开一个外部文本文件,其格式为:INFILE 文件说明文件说明;这里,文件说明是指所要引用的外部文件所在的磁盘路径和文件全名,应用单引号将文件说明括起来。对于这个文件说明,我们还可以采用下面的方式来处理:Slide 64filename m n:txtid.txt;Data da2;Infile m;input name$phone;run;在这段程序中,filename语句的作用是规定了一个文件标记m,并用它来表示外部文件的全路径文件名。只要在程序中用f
47、ilename语句作了这样的定义,就可以在程序的任何位置用m来引用这个外部文件了。可以看出,infile n:txtid.txt;与与 filename m n:txtid.txt;infile m;这两句起着同样的作用。Slide 653.数据来自其它SAS数据集例3:data da3;Set da1;/*da1是已经存在的SAS数据集*/if x1=5;/*选择x1小于或等于的观测*/run;从一个或几个已存在的SAS数据集产生新的SAS数据集的DATA步的一般形式为:DATA语句;SET|MERGE;(用于DATA步的其它SAS语句)RUN;这里,SET、MERGE语句用来识别已存在的S
48、AS数据集。竖条“|”表示用户可以使用这些语句中的一个。Slide 66 综上所述,数据集的建立是通过数据步来实现的。每个数据步开头的DATA语句标志数据步的开始,其它的语句称为程序语句,因为SAS把它们转换为机器语言,每次通过DATA步来执行它们。SAS通过INPUT、SET、MERGE等语句读入每一个观测。通常,在原始数据含有多个观测的情况下,系统将重复执行这些程序语句直到把输入数据读入完毕。程序语句还可能含有让DATA步的一些语句执行很多次的语句,例如DO循环语句等。若数据步中不包含INPUT、SET、MERGE语句,则程序语句只执行一次。SAS系统为每个DATA步设置了一个自动变量_N
49、_,它的值表示这个DATA步已经执行的次数。在DATA步的程序语句中可以使用这个变量。Slide 67例如:data da1;input x1 x2 x3;y=x1+x2+x3;cards;8 4.1 1.1 ;Run;这些语句要求SAS产生一个名为da1的数据集,从输入数据行读3个数值给相应的3个变量,并建立第四个变量y。在读入数据时,SAS将变量x1,x2,x3视为一个程序数据向量,按INPUT语句的指示读当前记录的数据值,然后又执行程序语句,把y的值添加到程序程序数据向量中去。因此,对这个DATA步而言,程序数据向量包含4个变量:x1,x2,x3,y。当最后一个程序语句执行后,在程序数据
50、向量中的这些值(即一个观测)自动地输送到正被创建的数据集da1中,然后SAS返回去再执行DATA步。我们这个例子中共有5行数据,则这个DATA步将执行5次,数据集da1中包含5个观测,每个观测有4个变量。Slide 68二.建立数据集的相关语句1.DATA语句语句 DATA语句表示一个数据步的开始,并给出正被创建的SAS数据集的名字。语句格式:DATA data-set-name-1data-set-options-1.其中:data-set-name:表示在这个DATA步中将要建立的数 据集名字,可以是一个或多个。Data-set-options:告诉系统关于正被创建的这个数据集的 更多信息