SAS统计分析基础.ppt

上传人:小飞机 文档编号:5447401 上传时间:2023-07-08 格式:PPT 页数:78 大小:821KB
返回 下载 相关 举报
SAS统计分析基础.ppt_第1页
第1页 / 共78页
SAS统计分析基础.ppt_第2页
第2页 / 共78页
SAS统计分析基础.ppt_第3页
第3页 / 共78页
SAS统计分析基础.ppt_第4页
第4页 / 共78页
SAS统计分析基础.ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《SAS统计分析基础.ppt》由会员分享,可在线阅读,更多相关《SAS统计分析基础.ppt(78页珍藏版)》请在三一办公上搜索。

1、现代统计分析与SAS入门,学习目标,1、了解SAS系统的功能特点;2、熟悉SAS系统的操作环境;3、掌握SAS系统的有关概念;4、学会使用DADA Step(数据步)建立数据集,能对现有数据集进行读入、修改、拼接及合并;5、学会使用PROC Step(过程步)的几个重要过程对数据集进行常规的统计分析和显示;6、学会自己查看系统帮助;7、能够利用SAS系统处理常见的研究数据。,基本内容,1、SAS概述;2、SAS显示管理系统;3、SAS编程基础:SAS语句;SAS表达式;SAS常量;SAS变量;SAS算符;SAS函数;4、DADA Step(数据步);5、PROC Step(过程步);6、常用统

2、计分析模块。,第一章 SAS系统简介,1、SAS的含义 Statistical Analysis System2、SAS系统数据处理和统计分析领域的国际标准软件世界领先的数据分析和信息系统3、SAS软件的发展SAS系统于1966年由美国North Carolina州立大学开始研制,1976年成立美国SAS软件研究所公司。1998年已推出适用于多种操作系统的版本SAS6.12,现在最新版本是SAS9.1。目前,世界上有120多个国家和地区的31 000多个机构在使用SAS系统,直接用户超过3 500 000。SAS系统在世界范围内被广泛地应用于政府、科研、教育、生产和商业等不同领域,发挥着积极的

3、作用。,4、SAS系统的特点,SAS系统是用于数据分析与决策支持的大型集成式模块化软件包,是一种组合软件系统。核心部分是Base SAS软件,其它可选模块有:SAS/STAT软件、SAS/GRAPH软件、SAS/IML软件、SAS/OR软件、SAS/ETS软件等30多个。1、操作简便 SAS的宗旨是为所有需要进行数据处理、数据分析的非计算机专业人员提供一种易学易用、完整可靠的软件系统。用户把要解决的问题用SAS语言(近乎自然英语的非过程语言)表达出来,组成SAS程序,提交给SAS系统就可以解决所提出的问题。2、SAS系统将数据管理与统计分析溶为一体 SAS程序的结构由两个基本步骤任意组合而成。

4、DATA步用于对数据的加工处理;PROC步用于分析数据和编写报告。SAS系统克服了通常软件或偏重于数据管理功能或偏重于统计分析的弊病,把数据管理与统计分析有机地结合在一起。3、适用性强、应用面广 SAS系统适用于任何经验的人员(初学者或有经验的用户);适用于任何类型的数据;适用于几乎是任何应用的需要;适用于任何计算机环境;扩展性能强。,5、SAS软件的启动:,用如下方法可以进入SAS 系统的窗口运行环境:菜单方式:依次点击“开始”-“程序”-“The SAS System”-“The SAS System for Windows v6.12”即可。快捷方式:在Windows桌面系统下双击 SA

5、S图标;,6、SAS工作界面,程序编辑窗口,运行记录窗口,结果输出窗口,命令窗口,Results窗口,在命令窗口输入“keys”后情况,命令行,命令窗(条),7、SAS显示管理系统,SAS显示管理窗口可分为两大类:基本窗口和其它窗口。基本窗口(三个):PROGRAM EDITOR窗口(程序编辑窗,缩写为PGM);LOG窗口(登录窗或日志窗);OUTPUT窗口(输出窗);,PGM窗口:输入和编辑文本,包括SAS语句;提交SAS语句;拷贝一个外部文件到PGM窗口,或拷贝窗口内容到外部文件上;LOG窗口 LOG窗口包含SAS日志,它是当前SAS会话的记录。一个典型的记录显示:在当前会话中发布的SAS

6、语句;注释、警告和出错信(红色-错误 兰色-正常 绿色-警告)OUTPUT窗口:这个窗口也称为LISTING窗口,它包含由大多数SAS过程产生的输出。在SAS会话期间相继产生的输出都附加到OUTPUT窗口内容中。其它窗口:除了三个基本窗口以外,显示管理包含很多其它窗口。各个窗口均可在任何一个窗口的命令行键入相应的命令来打开。下面按字母顺序列出包括三个基本窗口在内的主要显示管理窗口,并给出简单描述。,LOG窗,OUTPUT窗,PGM窗,常用显示管理窗口及调用命令,8、显示管理命令,SAS显示管理系统包括众多的命令让用户完成各种任务。根据发布命令的位置可将其分为命令行命令和行命令。显示管理命令按习

7、惯是从命令行command=输入相应的命令发布的,因此称这些命令为命令行命令;而一些文本编辑命令按习惯是从显示的行号上发布的,因此这些命令称为行命令(Windows环境下较少应用)。几个重要的命令行命令:1)窗口切换命令:PGM|F5:切换到PGM窗口 LOG|F6:切换到LOG窗口 OUTPUT|F7:切换到OUTPUT窗口2)编辑命令:CLEAR|Ctr+E:清除当前工作窗口的所有信息 RECALL|F4:将运行过的程序调回到PGM窗口 SUBMIT|F8:将PGM窗中的所有程序提交运行 HOME:将光标移到命令行,保存文件:方法1(命令法):FILE命令:将当前工作窗口的内容写到外部文件

8、中。例如:FILE D:Myfile.SAS 回车后将信息写到D盘根目录下一个名为Myfile.SAS的文件上。方法2(菜单法):“File”“Save As”,输入文件名“Myfile”点“保存”即可。打开文件:方法1(命令法):INCLUDE|INC:将指定的外部文件调入PGM窗。例如:INC D:Myfile.SAS 回车后将D盘根目录下一个名为 Myfile.SAS的外部文件调入PGM窗。注1:该命令只能在PGM窗使用;如果PGM窗已有文本,则该命令将指定的外部文件调入窗口文本的后面。方法2(菜单法):“File”“Open”,找到相应的文件,点“打开”即可。,9、文件的保存与打开,上

9、机练习题,1、SAS常用的窗口有哪三个?请在三个基本窗口之间切换并记住这些命令。2、请在PGM窗口中输入如下几行程序,提交系统执行,并查看OUTPUT窗和LOG窗中内容,注意不同颜色的含义;并根据日志窗中的信息修改完善程序。,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;,3、在D:盘根目录下建立一个文件夹,取名为:SASEX2004。将上题(题2)修改好的程序、输出结果及

10、日志窗中的内容保存在前面建立的文件夹中。,上机练习题(Cont.),第一章结束,第二章 SAS编程语言基础,同其它计算机语言一样,SAS语言也有它自己的语法:关键词和连结关键词与其它辅助信息的规则。用户使用SAS语言来定义数据和规定对数据怎样做统计分析的问题。由SAS语句组成的序列称为SAS程序。1、SAS语句一.SAS语句的含义 我们先来看一个实例:,例1:我校2001级某班16名学生4门功课成绩表如下,试计算这16名学生英语、生理的平均得分。,DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好2001087474 6

11、1 68良好2001087573 75 46良好2001087679 80 79优秀2001087775 71 68良好2001088485 85 87优秀2001088578 79 75优秀2001088680 76 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66 84及格2001089462 73 65及格2001090982 70 79优秀,PROC PRINT Data=score;VAR no x1 x2 x3 x4;

12、RUN;PROC MEANS Data=score;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=ex1;Var name age sex;run;第一章练习题,在这个例子中,我们看到:DATA,INPUT,CARDS,PROC,VAR,RUN是关键词;score是数据集名;no,x1,x2,x3,x4是变量名;MEANS是过程名;Data=是MEANS语句中的选项。现在,我们给出SAS语句的定

13、义:SAS语句是由关键词、SAS名、特殊字符或运算符组成并以分号结尾的字符串。,The MEANS Procedure Variable N Mean Std Dev Minimum Maximum-x2 16 72.8750000 7.8729495 54.0000000 85.0000000 x3 16 73.0000000 9.7911525 46.0000000 87.0000000-,二.几个概念1.SAS关键词 位于句首的用以说明语句类型和功能的单词称为SAS语句的关键词。它是SAS语句的主要成份。如:PROC、DATA、VAR、RUN等。2.SAS名 SAS语句中出现的SAS名有

14、很多种类,如变量名、SAS数据集名等。SAS命名规则:1)由1至8个字符组成;2)由三种字符构成:英文字母A-Z,a-z,下划线_,数字0-9;3)每个名字的第一个字符不能为数字;4)SAS系统保留了一些名字作为特殊的变量名,这些变量名的开头和结尾都用特殊字符下划线表示(如_N_、_ERROR_等)。,3.特殊字符和运算符特殊字符包括:圆括号()、单引号、双引号“、美圆符号$、列指针控制符、行指针控制符#、冒号:、句号.、分号;等;运算符包括:加号+、减号-、乘号*、除号/、乘方*等,等号=、不等号=、小于号、小于等于号=等。三.语句格式 SAS语句的基本格式是:KEYWORD Parmete

15、r item|item|item options;关键词 参数 选项1 选项2 选项3 选择值关键词:用以说明语句类型和功能的单词;参数:要求用户提供的信息。不用括号,不是任选项。,例如:INPUT x y z;其中:INPUT是关键词,它说明要把数据提供给哪些变量。后面跟的变量名x、y、z 都是参数,即要求用户提供的信息。表示参数可以不止一个。选项1|选项2|选项3 中的竖线“|”用来分隔各选择项,表示其中任选一个;方括号内的信息是可以选择的。例如:PROC MEANS data=store maxdec=3;其中:PROC是语句的关键词,它说明本语句是过程语句;MEANS是过程名,它说明要

16、调用的过程名称;data=、maxdec=都是选项的关键词,等号后面是用户提供的选择信息。,一系列SAS语句组成一段SAS程序。SAS程序中的语句可分为两类步骤:DATA步和PROC步。这两类步骤是所有SAS程序的模块。通常用DATA步产生SAS数据集而用PROC步对SAS数据集内的数据进行分析处理并输出结果。一段SAS程序可由一个DATA步或一个PROC步组成;或者由DATA步和PROC步两部分组成;也可由多个DATA步和多PROC步组成。,2、SAS程序,DATA步包括:创建一个或几个新的SAS数据集的语句和创建数据集所必须的运算操作语句。每个DATA步以DATA语句开头,可以包含任意多个

17、SAS程序语句。一个DATA步的基本语句有:DATA语句:表示创建SAS数据集;INPUT语句:对SAS数据集中的变量进行描述;CARDS语句:用来指示数据行的开始;语句:表示数据行的结束。请看如下的例子:,1.DATA步(数据步),DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好2001087474 61 68良好2001087573 75 46良好2001087679 80 79优秀2001087775 71 68良好2001088485 85 87优秀2001088578 79 75优秀2001088680 76

18、 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66 84及格2001089462 73 65及格2001090982 70 79优秀,DATA关键词告诉系统,要创建一个SAS数据集,命名为score,INPUT关键词告诉系统,数据在程序流中,并且指明数据所对应的变量名及类型。$符号说明它前面的一个变量为字符型。,CARDS关键词告诉系统,其后紧随着的便是数据。,数据行,数据源中不能有分号(;)。,;表示数据行的结束,PROC步要求

19、SAS系统从过程库中调出一个过程模块并执行它。PROC步以PROC语句开始,其后紧跟一个过程名(英文关键字);一个过程步可以包含多个相应的SAS语句。例如:PROC MEANS Data=score;VAR x2 x3;PROC PRINT Data=score;VAR x1 x3 x4;注意:一个完整的SAS程序必须以RUN语句结尾方能提交运行。,2.PROC步(过程步),3、编写SAS程序,DATA score;INPUT no x1 x2 x3 x4$;CARDS;RUN;,2001087368 71 65良好2001087474 61 68良好2001087573 75 46良好200

20、1087679 80 79优秀2001087775 71 68良好2001088485 85 87优秀2001088578 79 75优秀2001088680 76 79优秀2001088785 80 82良好2001088877 71 75良好2001088967 73 71优秀2001089075 81 70良好2001111870 54 75及格2001089370 66 84及格2001089462 73 65及格2001090982 70 79优秀,PROC PRINT Data=score;VAR no x1 x2 x3 x4;RUN;PROC MEANS Data=score;V

21、AR x1 x2 x3;RUN;,以上一个DATA步和两个PROC步就构成了一个SAS程序。,上面SAS程序的输出结果如下:,The SAS System 09:22 Monday,August 16,2004 10 Obs no x1 x2 x3 x4 1 20010873 68 71 65 良好 2 20010874 74 61 68 良好 3 20010875 73 75 46 良好 4 20010876 79 80 79 优秀 5 20010877 75 71 68 良好 6 20010884 85 85 87 优秀 7 20010885 78 79 75 优秀 8 20010886

22、80 76 79 优秀 9 20010887 85 80 82 良好 10 20010888 77 71 75 良好 11 20010889 67 73 71 优秀 12 20010890 75 81 70 良好 13 20011118 70 54 75 及格 14 20010893 70 66 84 及格 15 20010894 62 73 65 及格 16 20010909 82 70 79 优秀 The MEANS Procedure Variable N Mean Std Dev Minimum Maximum-x2 16 72.8750000 7.8729495 54.0000000

23、 85.0000000 x3 16 73.0000000 9.7911525 46.0000000 87.0000000-,(1)书写格式SAS语句可以从一行上的任意位置开始;几个SAS语句可以写在同一行上;一个语句也可以写成几行,只要语句中的单词不被断开即可;在一个语句中各项之间至少要有一个空格;一些特殊符号(如等号=,加号+)可以占据空格的位置,如:total=a+10;与 total=a+10;是等价的;SAS语句用大写字母、小写字母或大、小写混合书写均可。(2)注释 SAS语句中有一个注释语句,形式为:/*注释内容*/凡是空格可以出现的地方,以上形式的注释语句也能出现。例如:PROC

24、SORT/*对数据集排序*/;就是一个合法的语句。,1.SAS程序的书写方法,(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_ 表示所有字符变量;_all_ 表示所有变量。,请看上面的数据集,这些变

25、量在数据集中的位置是:no x1 age x2 x3 x4 x5下面以VAR语句为例说明SAS变量缩写引用中-与-区别:,VAR x1-x5;表示只引用变量x1 x2 x3 x4 x5,与VAR x1 x2 x3 x4 x5;语句等价。,VAR x1-x5;表示引用在位置上从x1到x5之间的所有变量x1 age x2 x3 x4 x5,与 VAR x1 age x2 x3 x4 x5;语句等价。,程序的执行 当我们在PGM窗口将程序输入完毕,检查修改后就可以提交给SAS系统执行。在LOG窗口显示程序执行中记录的信息,它包括:执行哪些语句;生成的数据集中变量个数及观测个数是多少;程序执行所消耗的

26、时间及出错信息等。SAS过程的输出 前例提交执行以后,DATA步产生一个名为score的SAS数据集;后面的两个PROC步产生的结果输出到OUTPUT窗口(如前例的输出)。,2.SAS程序的的执行与输出,4 SAS表达式,前面简单介绍了SAS语句和SAS程序的构成。要灵活的完成日常的数据管理和统计分析工作,还得很好掌握SAS表达式。SAS表达式是由一系列算符和运算对象形成的一个指令集,它被执行后产生一个目标值。运算对象是SAS变量和SAS常数;算符是特殊的运算符、函数和括号。表达式分为简单表达式和复合表达式。下列式子都是表达式。X+1 3 LOG(X)LOG10(X)P/A*100 AGE10

27、01-EXP(N/(N-1)A=B=C STATE=CA 在DATA步中,为了对变量进行变换,建立新变量、条件处理、计算新值及指定新值,都需要使用SAS表达式。一.SAS常数 SAS常数用来表示固定的值,它或者是一个数字,或者是用引号引起来的字符串、或者是其它特殊记号。,SAS使用的常数有五种类型:数值常量、字符常量、日期、时间和日期时间常量、十六进制数值常量、十六进制字符常量。我们主要介绍数值常量和字符常量。1.数值常量:一个数值常量就是出现在SAS语句里的数字。很多数值常量完全像通常的数据值一样书写。数值常量可以包括小数点,负号和E记号。例如:1-5 1.23 1.2E23 0.1 0.5

28、E-10。用E表示法时,如2E4,它表示,或者20000。SAS系统中,缺失值用小数点来(.)表示。,2.字符常量:字符常量是由(单)引号括起来的1200个字符组成的字符串.例如,在下面的语句中:IF name=TOM THEN DO;TOM就是一个字符常量。如果字符常量含有引号,则用两个连续的单引号来处理。例如,字符值为TOMS时,输入:name=TOMS 缺失的字符常量值为空字符,表示为(两个连续的单引号)。,二 SAS变量:描述给定特征的数值集合的指标称为变量。SAS变量的特征:变量名、类型、存储长度、标签、输入格式、输出格式,存储长度指变量在存储时所需要的字节数。默认情况下所有的变量都

29、定义为8字节。字符变量的长度可为1-200字节,数值变量的长度可为3-8字节。标签是对变量的补充说明,可以为任意字符,长度可多达257个字符。,SAS数据集(部分),Observations,输入输出格式,原始数据值,SAS变量的值,格式化的SAS变量值,Informatdollar10.,Formatcomma8.,548,231,25JAN2004,16095,01/25/2004,InformatDate9.,FormatMMDDYY10.,$548,231,548231,Format,(输出格式),日期和时间数据的存储,SAS采用数值存储日期和时间形式的数据。在默认情况下,SAS系统以

30、0代表1960年1月1日0时。其它日期在SAS系统中被存储为与该日期相差的天数。例如,1960年1月3日,在系统中存为2。2004年1月25日,在系统中存为16095。注意:为了使数值型变量显示日期形式,必须使用日期型的输出格式,同样地为了以日期形式输入日期必须使用日期型的输入格式。,SAS变量分为两类,数值变量(Num)与字符变量(Char)。数值型变量只能取数值为值。可以有正负号及小数点(+、),但不能有逗号(,)。数值型是SAS的默认变量类型,默认长度为8位。字符型变量可以取字符、字母、特殊字符以及数字为值。在DATA步中某些SAS语句所使用的变量名后跟一个美元符号($),即表明该变量是

31、字符型变量,如name$或name$。如果变量后不加$符号,SAS将该变量认为数值型。因此,对字符型变量应加$符号予以说明。在SAS中一个字符变量的取值可以有1200个字符长,默认长度为8个字符长。,三 SAS算符 SAS算符是一些符号,它们要求作比较、算术运算或逻辑运算。SAS使用两种主要类型的算符:前缀算符和中缀算符 前缀算符用于变量、常数、函数或者用括号括起来的表达式。例如:+Y-25-COS(A)-(x1+x2-100)前缀算符有:加号,减号,NOT和符号。中缀算符作用在算符两边的运算对象上,例如68。中缀算符一般分为四类:算术算符、比较算符、逻辑算符和其它算符(最大、最小和连接)。,

32、1.算术算符:算术算符表示执行一种算术运算,包括:*乘方*相乘/相除+相加-相减 如果算术算符有一个运算对象是缺失值,运算结果也是缺失值。例如,y=x3+.;则y的值为缺失值(.)2.比较算符:比较算符确定两个量之间的一种关系,如果这种关系成立,则输出结果为1(真);如果它不成立,则输出结果为0(假)。比较算符包括:=(EQ)等于=(NE)不等于(GT)大于=(GE)大于等于=(LE)小于等于(1)算术表达式的比较 考虑表达式:A=B。如果A的值为4,B的值为3,则表达式A=B的值为0(假);若A的值为5,B的值为9,则表达式A=B的值为1(真);若A与B的值均为47,则表达式成立,且其值为1

33、。,(2)字符的比较 比较的对象可以是数值也可以是字符,但比较的结果总是数值1(真)或0(假)。字符运算对象在字符之间从左到右被比较。字符次序用机器排列次序确定(即按ASCII码排列序列)。例如,表达式GRAYADAMS是真的,它与表达式 ANDRE,CANDRE,CLYDE一样,它们的值都是1。3.逻辑算符:逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接一系列比较式。逻辑算符包括:&(AND)与;|(OR)或;(NOT)非 例如,age=25 AND sex=男 或 age=25&sex=男 age=25 OR sex=男4.运算次序:关于运算次序,SAS有如下的三个准则:

34、准则1:在括号里的表达式先计算;准则2:较高优先级的运算先被执行。,下面是各运算符的优先等级(排在前面的优先):1级*、(not)2级*、/3级+、-、4级、=、2*(3*2)2)当两个比较算符围着一个量时,则等价于一个and运算。例如:12 12age and age20,一.SAS函数的定义1.SAS函数的定义:SAS函数是一个子程序,它由0个或几个自变量返回一个结果值。每个SAS函数都有一个关键词名字。为了引用函数,要写出它的名字,然后写出一个自变量或几个自变量,它们用括号括起来,这个函数对这些自变量执行某种运算。SAS函数的形式为:Function Name(argument,.)例如

35、:MEAN(x,y,z,a)SUM(x,y,z)MIN(SUM(x,y,z),1000),5 SAS函数,2.SAS函数的分类:SAS函数分为17种类型,我们需要接触的有:算术函数、数组函数、截取函数、数学函数、概率函数、分位数函数、非中心函数、样本统计函数、随机函数、字符函数、日期时间函数等。二 SAS函数的参数和结果1.SAS函数的参数1)参数的类型:参数可以是简单的变量名、常数或者表达式。这个表达式还可以包含其它的函数。例如:max(cash,credit)sqrt(2500)min(sum(of x1-x10),y)2)参数的个数:有些函数不需要参数(如DATE(),有些只需要一个参数

36、,有些函数是对几个参数作分析处理。如果函数的参数是表达式,则先计算作为参数的表达式 例如:LOG(x+y)这个函数,是先计算x+y,然后调用对数函数LOG来计算x+y的对数。,3)参数的表示法:一般地,当函数有几个参数时,它们之间必须用逗号(,)分隔开。不过,以下三种写法均是合法的:Function Name(OF variable1-variablen)Function Name(OF variable variable.)Function Name(variable,variable,.)例如:sum(of x1-x5)sum(of x1 x2 x3 x4 x5)sum(x1,x2,x3,

37、x4,x5)是等价的。请问:sum(of x1-x5)在什么情况下与上面的式子等价?2.函数的结果:函数的取值通常取决于参数的类型,当参数是字符型变量时,函数的取值为字符;当参数为数值型变量时,函数的取值为数值。,三.函数的分类 SAS函数主要分为以下几类:1、数学函数 abs():求绝对值 mod(var1,var2):求var1除以var2后的余数 sqrt():求平方根值 int():取整函数,截取小数部分 round(var,规定):按规定四舍五入。规定取:0.1,0.01,log():计算以e为底的对数值 log10():计算以10为底的对数值2、三角函数3、概率分布函数,4、样本统

38、计函数 max():求最大值 min():求最小值 mean():求均数 std():求标准差 sum():求和5、随机函数 normal():产生一个正态分布的伪随机数 rannor():产生一个标准正态分布的随机数6、字符函数 substr():从一个字符串中抽取或取代一个指定的子串 trim():去掉字符串尾部的空格7、日期时间函数 year():从变量中抽取“年份”值 month():从变量中抽取“月份”值 day():返回变量的天数值 mdy(月,日,年):将变量转换成日期值形式具体的函数请查阅:SAS Online Help-SAS Language-SAS Functions,上

39、机练习题,1、SAS常用的窗口有哪三个?请在三个基本窗口之间切换并记住这些命令。2、请在PGM窗口中输入如下几行程序,提交系统执行,并查看OUTPUT窗和LOG窗中内容,注意不同颜色的含义;并根据日志窗中的信息修改完善程序。,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;,第二章结束,第三章 DATA步及其语句,为了利用SAS系统对数据进行分析,必须将数据转化为SAS数据集

40、的形式。SAS系统提供了功能很强的数据管理模块,通过数据步(DATA STEP)实现对数据的管理。数据步在SAS系统中具有十分重要的地位,概括起来其内容主要有:录入数据并转化为SAS数据集;编辑数据,包括检查和修改数据中的错误、计算新变量等;将数据写入磁盘;对已有的数据集进行管理。如取子集、合并及更新数据集等。学习和掌握好SAS数据集是用SAS系统分析数据的前提,因此必须熟练掌握SAS数据集的有关操作。,1 SAS数据步(DATA STEP),例1:DATA da1;INPUT x1 x2 x3;y=x1+x2+x3;CARDS;3 1.2 0.5 2 2.4 0.9 5 3.2 0.8 8

41、4.1 1.1 7 3.3 0.6;RUN;,以上这些语句组成DATA步。提交后,SAS系统创建一个名为da1的SAS数据集。它包含5个观测、4个变量。,DATA步是用DTAT语句开始的一组SAS语句。,用于DATA步的SAS语句共有50多个,一般按性质可分为三类:1、可执行语句(X),它是可以产生某种操作的语句。INPUT语句,赋值语句(如,y=x1+x2)等;2、定位语句(P),它们在执行时并不产生任何操作,但它们在数据步中具有重要地位。DATA语句,CARDS语句等;3、说明语句(D),用于给系统提供附加的信息,它们在数据步中的地位通常并不重要。FORMAT语句,INFORMAT语句等;

42、,利用SAS系统对数据进行统计分析,必须以SAS数据集为基础。因而在进行分析之前必须先将要处理的数据按SAS系统的格式存放在一个数据文件中,这个过程就是建立SAS数据集。SAS数据集实质上是一张关系型数据表,即通常所见到的二维表格,一行表示一个观察(Observation),一列表示一个变量(Variable),行列的交叉点就是该观察在该变量上的取值。参见下页示意图。,2 SAS数据集的建立,SAS数据集(部分),Observations,SAS数据集分为两类:一类是临时数据集,另一类是永久数据集。一.临时数据集的建立 以单个词作为名字的SAS数据集称为临时数据集。在SAS系统运行期间,临时数

43、据集一经建立,则该临时数据集一直存在;如果用户退出SAS系统,则临时数据集立即被删除。用户重新进入SAS系统后则不能再调用这些已被删除的临时数据集了。,根据数据的存在形式,临时数据集的建立可分为以下几种情况:1.数据在作业流中 例1就是直接用SAS语句从作业流中输入数据,从而建立所需要的SAS数据集的一个例子。一般的形式如下:DATA语句;INPUT语句;(用于DATA步的其它SAS语句)CARDS语句;数据行;RUN;,2.数据在外部文本文件中例2:在c:txt子目录下存放有一个名为id.txt的文件,内容如下:(第一列为姓名,第二列为电话),欲用上述数据来建立一个SAS数据集,可用下面的D

44、ATA步来完成:DATA da2;INFILE c:txtid.txt;INPUT name$phone;RUN;,Jinhua 48332728 jianghon 47586978taoxian 23459734zhaoheng 85743627shanmei 12395863xuli 74857362xinwei 23485748,从外部文本文件中读入数据来建立SAS数据集的一般形式为:DATA语句;INFILE语句;(用于DATA步的其它SAS语句)RUN语句;这里,需要注意两点:不需要CARDS语句。INFILE语句的作用是打开一个外部文本文件,其格式为:INFILE 文件说明;这里,

45、文件说明是指所要引用的外部文件所在的磁盘路径和文件全名,应用单引号将文件说明括起来。对于这个文件说明,我们还可以采用下面的方式来处理:,filename m n:txtid.txt;Data da2;Infile m;input name$phone;run;,在这段程序中,filename语句的作用是规定了一个文件标记m,并用它来表示外部文件id.txt的全路径文件名。只要在程序中用filename语句作了这样的定义,就可以在程序的任何位置用m来引用这个外部文件id.txt了。可以看出,infile n:txtid.txt;与 filename m n:txtid.txt;infile m;

46、这两句起着同样的作用。,3.数据来自其它SAS数据集例3:data da3;Set da1;/*da1是已经存在的SAS数据集*/if x1=5;/*选择x1小于或等于的观测*/run;从一个或几个已存在的SAS数据集产生新的SAS数据集的DATA步的一般形式为:DATA语句;SET|MERGE;(用于DATA步的其它SAS语句)RUN;这里,SET、MERGE语句用来识别已存在的SAS数据集。竖条“|”表示用户可以使用这些语句中的一个。,综上所述,数据集的建立是通过数据步来实现的。每个数据步开头的DATA语句标志数据步的开始,其它的语句称为程序语句,因为SAS把它们转换为机器语言,每次通过D

47、ATA步来执行它们。SAS通过INPUT、SET、MERGE等语句读入每一个观测。通常,在原始数据含有多个观测的情况下,系统将重复执行这些程序语句直到把输入数据读入完毕。程序语句还可能含有让DATA步的一些语句执行很多次的语句,例如DO循环语句等。若数据步中不包含INPUT、SET、MERGE语句,则程序语句只执行一次。SAS系统为每个DATA步设置了一个自动变量_N_,它的值表示这个DATA步已经执行的次数。在DATA步的程序语句中可以使用这个变量。,例如:data da1;input x1 x2 x3;y=x1+x2+x3;cards;3 1.2 0.5 2 2.4 0.9 5 3.2 0

48、.8 8 4.1 1.1 7 3.3 0.6;Run;,这些语句要求SAS产生一个名为da1的数据集,从输入数据行读3个数值给相应的3个变量,并建立第四个变量y。在读入数据时,SAS将变量x1,x2,x3视为一个程序数据向量,按INPUT语句的指示读当前记录的数据值,然后又执行程序语句,把y的值添加到程序程序数据向量中去。因此,对这个DATA步而言,程序数据向量包含,4个变量:x1,x2,x3,y。当最后一个程序语句执行后,在程序数据向量中的这些值(即一个观测)自动地输送到正被创建的数据集da1中,然后SAS返回去再执行DATA步。我们这个例子中共有5行数据,则这个DATA步将执行5次,数据集

49、da1中包含5个观测,每个观测有4个变量。,二.建立数据集的相关语句1.DATA语句 DATA语句表示一个数据步的开始,并给出正被创建的SAS数据集的名字。语句格式:DATA data-set-name-1data-set-options-1.其中:data-set-name:表示在这个DATA步中将要建立的数 据集名字,可以是一个或多个。Data-set-options:告诉系统关于正被创建的这个数据集的 更多信息。这些选项用括号括起来并跟 在相应的数据集名字的后面。例如:data new(drop=y);/*列出不包含在数据集中的变量y*/data new(keep=x1 x2);/*列出

50、包含在数据集中的变量x1,x2*/data new(label=health club data);/*给数据集一个附加标签*/data new(rename=(x1=u x2=v);/*把new中的变量x1,x2更名为u,v*/,DATA语句中数据集名的选择:1)省略数据集名:如:data;这时,系统仍建立一个数据集,并将自动地把一个作业中所建立的第一个数据集命名为data1,第二个数据集命名为data2,.等等。2)使用单个词(单水平)的名字:例如:data one;表示建立一个名为one的临时数据集。多个数据集名字的使用1)建立观测子集 假如有n个观测数据,它们是1981,1982,19

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号