SAS统计分析软件应用.ppt
《SAS统计分析软件应用.ppt》由会员分享,可在线阅读,更多相关《SAS统计分析软件应用.ppt(128页珍藏版)》请在三一办公上搜索。
1、1,SAS 统计分析系统Statistical Analysis System,宁夏医科大学公共卫生学院流行病与卫生统计学系李吴萍 2011.5,2,第一节 SAS软件简介,1966年美国North Carolina州立大学的两位生物统计学研究生开始研制SAS系统,直至1976年成立了SAS软件研究所,正式推出了SAS软件,1985年推出微机版SAS。SAS是用于决策支持的大型集成信息系统,软件系统最早的功能限于统计分析,逐渐成为一个用来管理、分析数据和编写报告的大型集成应用软件系统,具有完备的数据访问、管理、分析、呈现及应用开发等功能,完全超出了单纯统计应用的功能。属于世界领先,使用最为广泛
2、的统计软件之一。,3,由于SAS系统是从大型机上的系统发展而来,在设计上也是完全针对专业用户进行设计,因此操作以SAS语言编程为主,另外也有非编程方式的菜单系统,但人机对话的界面不太友好。学习SAS软件时,需要用户有基本的统计学知识,对所选用的统计方法有较清楚的了解,没有统计学基础知识要掌握SAS软件较为困难。,4,SAS系统是一个模块化的组合软件系统,它提供了约20多个模块,各个模块之间既相互独立又相互交融补充。本课程用得最多的是Base SAS模块和SAS/STAT模块。Base SAS是SAS系统的基础。它既可以单独使用,也可以与其他模块组成一个用户化的SAS系统,但是其他模块必须与之结
3、合起来才能使用。Base SAS主要承担着数据及用户使用环境的管理、SAS语言程序的处理,并具有基本的数据分析和报告等统计功能。,5,SAS/STAT提供了当今流行的主要统计分析方法,是国际上统计分析领域的标准权威软件。它具有回归分析、方差分析、属性数据分析、多元分析、聚类分析、判别分析、非参数分析、生存分析和心理测量分析等统计功能。,6,第二节 SAS软件的使用基础,一、SAS的启动和退出 启动SAS双击桌面SAS图标开始菜单 程序 The Sas System The Sas System for Windows V*.*直接双击SAS应用程序退出SAS标题栏关闭按钮菜单栏 File Ex
4、it,7,标题栏、菜单栏、工具栏Editor 程序编辑器窗口LOG 运行过程日志窗口Output 结果输出窗口Explorer 资源管理器窗口Results 结果索引窗口,二、SAS的工作窗口,SAS常用功能键,8,第二节 SAS软件的使用基础,9,Editor窗口 主要用于打开SAS程序文件(*.sas)、编辑和修改SAS程序、并提交全部或部分SAS程序。LOG窗口显示有关的SAS会话和提交SAS程序的信息,包括程序的出错信息等(*.log)Output窗口 主要显示提交SAS程序后的运行结果(*.lst)Explorer窗口 主要用于查看和管理所有SAS文件,而且可以对非SAS文件创建快捷
5、方式。Results 窗口 主要用于操作和管理提交SAS程序后的输出结果。他的内容与Output窗口的内容一一对应,可以看成是Output窗口内容的名称。,二、SAS的工作窗口,10,第三节 SAS语言的语句和程序,一、SAS 语句 一个SAS语句就是要求SAS系统执行某种操作或给SAS系统提供一些信息的命令。SAS语句通常由SAS关键字、SAS名称、运算符及特殊字符组成。规则:(1)以;结尾(2)以SAS关键字开始。如:data,proc,input,cards,model,class,if,keep,set,run,11,第三节 SAS语言的语句和程序,一、SAS 语句(3)注释语句可以用
6、*开始,或者用/*/表示中间内容是注释语句。例1.1Data sas1_1;/*sas1_1是数据集名*/Input id name$height weight;Bmi=weight/height*2;Cards;/*数据流开始*/1 judy 1.56 45 2 lucy 1.67 53 3 lili 1.58 50;/*数据流结束*/Proc print data=sas1_1;Run;,12,第三节 SAS语言的语句和程序,一、SAS 语句 1.SAS关键字 几乎所有的SAS语句都是由SAS关键字开始的,说明SAS语句的类型。data语句,input语句,proc语句,run语句2.SA
7、S数据集名和变量名(1)32个字符之内,(2)第一个字母必须为字母或_;第二个以后可以为字母或数字。(3)字母不区分大小写。(4)不能使用空格和%¥#$等特殊字符,13,第三节 SAS语言的语句和程序,一、SAS 语句 3.SAS运算符 包括比较运算、算术运算、逻辑运算(1)算数运算符+-*/*(2)比较运算符=2 and y3 or/|逻辑或 x2 or y3Not/逻辑非 最大 35;结果为55;结果为3|连接 A=my name is;B=SAS;C=A|B;那么C=“my name is SAS”,14,第三节 SAS语言的语句和程序,一、SAS 语句 4.SAS函数 函数的一般形式:
8、函数名(自变量,自变量,)(1)SAS常用的概率和密度函数标准正态分布密度函数:probnorm(x)如:y=probnorm(-1.96);结果为0.025t分布密度函数:probt(x,df)如:y1=probt(0.95,100);结果为0.82780F分布密度函数:probF(x,df1,df2)2分布密度函数:probCHI(x,df)二项分布概率函数:probBNML(p,n,m)泊松分布概率函数:poisson(m,n),15,第三节 SAS语言的语句和程序,正态分布分位数函数:probit(p)0p1 如:y=probit(0.025),结果为-1.96t分布分位数函数:TIN
9、V(p,df)F分布分位数函数:FINV(p,df1,df2)2分布分位数函数:CINV(p,df)其它常用函数ABS(x)-取X的绝对值SQRT(x)-计算X的平方根MOD(x,y)-求x/y的余数,16,第三节 SAS语言的语句和程序,EXP(x)-计算e的x次幂LOG(x)-对自变量x求以e为底的自然对数LOG10(x)-对自变量x求以10为底的对数CEIL(x)-取自变量x的最小整数。如CEIL(5.7)=6FLOOR(x)-取自变量x的最大整数。如CEIL(5.7)=5INT(x)-取X的整数部分ROUND(x,n)-X按n的精度取舍入值,17,第三节 SAS语言的语句和程序,dat
10、a sas1_2;y1=probnorm(-1.96);/*标准正态分布密度函数*/y2=probt(0.95,100);/*t分布密度函数*/y3=probit(0.025);/*正态分布分位数函数*/x1=log10(100);/*对自变量x求以10为底的对数*/x2=exp(2);/*计算e的x次幂*/x3=CEIL(5.7);/*取自变量x的最小整数*/x4=ABS(-8);/*取X的绝对值*/x5=SQRT(36);/*计算X的平方根*/x6=MOD(10,3);/*求x/y的余数*/x7=FLOOR(5.7);/*取自变量x的最大整数*/x8=INT(5.6874);/*取X的整数
11、部分*/x9=ROUND(5.4874,0.001);/*X按n的精度取舍入值*/A=my name is;B=SAS;C=A|B;proc print data=sas1_2;run;,18,第三节 SAS语言的语句和程序,二、SAS 程序 将一系列SAS语句按逻辑顺序排列起来,构成SAS程序。通常包括数据步和过程步两部分。数据步以data语句开头,以run语句结束。主要作用是建立数据集。过程步以proc开头,以run语句结束。主要作用是激活SAS过程对数据进行处理和分析。提交SAS程序:(1)工具栏提交图标,(2)run/submit,(3)使用F3功能键,19,第三节 SAS语言的语句和
12、程序,二、SAS 程序 程序的储存:(1)键入“file 路径+文件名.扩展名”如:file d:usersas1-1.sas;(2)“文件”菜单“保存”程序的调用:(1)键入infile路径+文件名+扩展名 如:infile d:usersas1-1.sas;(2)“文件”菜单“打开”,20,第三节 SAS语言的语句和程序,例1.3 SAS程序举例data sas1_3;/*创建名为sas1_3的SAS数据集*/Input id nam$height weight;bmi=weight/height*2;cards;1 Judy 1.56 45/*数据流中每个数据值之间最少有1各空格*/2
13、Lucy 1.67 53;run;/*数据步结束*/proc print data=sas1_3;/*显示输出sas1_3数据集到output窗口*/run;/*过程步结束*/,21,第二章 建立SAS数据集,第一节 SAS数据集概述一、SAS数据集基本格式,SAS数据集可以看做由若干行和若干列组成的表格,一个数据集等价于关系型数据库中的一个表。,变量,观测,变量有两种类型:数值型变量 字符型变量,22,第二章 建立SAS数据集,第一节 SAS数据集概述一、SAS数据集基本格式,例2_1 缺失值的例子,Data sas2_1;Input id name$height weight;If nam
14、e=999 then name=.;If weight=999 then weight=.;Cards;1 Judy 156 999 2 Lucy 167 58 3 999 165 55 4 Tomy 178 62;Proc print data=sas2_1;run;,23,第二章 建立SAS数据集,二、临时SAS数据集和永久SAS数据集,临时数据集只能在SAS会话过程中创建使用,一旦退出SAS,数据集就不存在了。在Explorer窗口中可以看到一个名为work的SAS数据库,主要存放SAS临时数据集。创建时可以用两水平命名方式:如work.数据集名,也可以用一水平的命名方式:如数据集名。,
15、24,二、临时SAS数据集和永久SAS数据集,永久性数据集储存在硬盘里,因此,在以后的每一次SAS会话中都可以在打开。在创建和使用SAS永久性数据集之前,需要先建立一个SAS数据库来制定永久数据集存放的路径。一个SAS数据库相当于硬盘上的一个文件夹,可以将SAS数据集写入或读出。命名永久性数据集时必须用两水平的命名方式,即数据库名.数据集名,数据库名实际是一个SAS数据库的逻辑名。,第二章 建立SAS数据集,25,例2_2 SAS程序举例libname tj d:user;/*创建名为tj的sas数据库*/data tj.sas2_2;/*创建永久性数据集sas2_2,保存在d:user下*/
16、Input id name$height weight;bmi=weight/height*2;cards;1 Judy 1.56 45 2 Lucy 1.67 53;run;proc print data=tj.sas2_2;/*将保存在d:user的数据集sas2_2显示输出到output窗口*/run;,第二章 建立SAS数据集,26,第二章 建立SAS数据集,第二节 SAS数据集的建立一、用数据步创建SAS数据集创建SAS数据集最主要的方式是使用Base SAS中的数据步。一个SAS数据步由data语句开始,后面接着其他程序语句,通过从原始数据文件中读入数据或对已存在的SAS数据集进行
17、操作来建立新的SAS数据集。在SAS程序中,用户可以使用不同的来源输入数据。常用的数据输入来源包括:(1)原始数据以数据流的方式;(2)原始数据以外部文件的方式;(3)已经存在的SAS数据集;(4)通过程序语句来建立数据集。,27,1、从数据流中读入数据在SAS程序中,用cards语句定义数据流的开始。Input语句用于从数据流中读入数据。,28,例2.3 从数据流读入数据建立数据集data sas2_3;/*创建名为sas2_3的SAS数据集*/Input id name$height weight;/*从数据流中读入数据*/cards;1 Judy 156 45 2 Lucy 167 53
18、 3 Susan 165 55 4 tony 178 70;run;/*数据步结束*/proc print data=sas2_3;/*显示输出sas2_3数据集到output窗口*/run;/*过程步结束*/,29,2、从外部文件中读入数据Infile语句用来指定外部文件,通常外部文件并不是SAS文件。用input语句将外部文件中的数据读入SAS中建立SAS数据集。外部文件中的记录可以按一个变量一列的方式排列,也可以没用格式,不安列方式排列。,30,例2.4 从外部文件读入数据外部文本文件k:userstudent.txt1 Judy 1.56 45 2 Lucy 1.67 53 3 Sus
19、an 1.65 55 4 tony 1.78 70SAS程序:Data sas2_4;Infile d:userstudent.txt;/*指定外部文件*/Input id name$height weight;/*从外部文件中读取记录*/Run;Proc print data=sas2_4;Run;,31,3、从SAS数据集中读入数据用set语句可以从已有的SAS数据集中创建新的数据集。运行set语句,SAS会从已有的SAS数据集中读入观测,包括原始数据集中的所有变量,还可以在原数据集变量基础上创建新的变量。,32,例2.5 从已有的SAS数据集中读入数据Data sas2_5;set sa
20、s2_4;/*从已有的数据集sas2_4中读入数据*/Bmi=weight/height*2;/*生成一个新变量*/Run;Proc print data=sas2_5;Run;,33,例2.6 利用程序语句建立SAS数据集Data sas2_6;Do i=1 to 10;/*do与end语句之间的语句被重复执行10次*/Y=rannor(2008);/*产生来自标准正态分布的随机数*/Output;End;Proc print data=sas2_6;Run;,4、利用程序语句建立SAS数据集,34,SAS中Import/Export向导可用于将其他类型的文件,如Excel、Access、d
21、Base、文本文件等转为SAS数据集。在file菜单下点击import/export,按向导指示操作即可。,二、Import/Export向导创建SAS数据集,35,第三节 SAS数据集的修改,例2.7 按观测连接SAS数据集,female,male,需要连接的SAS数据集,一、SAS数据集的合并1、按观测连接SAS数据集,36,第三节 SAS数据集的修改,例2.7 连接SAS数据集的例子Data sas2_7;Set tj.female tj.male;Run;Proc print data=sas2_7;Run;,使用set语句可以将两个或多个数据集按观测连成一个大的数据集,这也是将新变量
22、追加已有数据集上的一种方式。,37,第三节 SAS数据集的修改,例2.8 一对一匹配合并SAS数据集,student1,student2,需要连接的SAS数据集,语句merge可以合并两个或多个数据集中的变量,这些数据集中的观测是一一对应的。,2、按变量合并SAS数据集,38,第三节 SAS数据集的修改,例2.8 按变量合并SAS数据集Data sas2_8;Merge student1 student2;Run;Proc print data=sas2_8;Run;,39,第三节 SAS数据集的修改,例2.9 利用程序语句建立SAS数据集,student3,student4,需要连接的SAS
23、数据集,如果需要合并的数据集中的观测并不是一一对应的关系,则需要用by语句指定各数据集中用于匹配观测的变量。(使用by语句之前,需要先对关键字段进行排序。,40,第三节 SAS语言的语句和程序,例2.9 按变量合并SAS数据集Proc sort data student3;by id;Proc sort data student4;by id;Data sas2_9;Merge student3 student4;Run;Proc print data=sas2_9;Run;,41,第三节 SAS语言的语句和程序,如果只想保留数据集中的部分观测,有两种方式建立哑集。第一种可以用if 条件语句告
24、诉SAS需要保留符合条件的观测;另一种用ifthan delete语句告诉SAS将不符合条件的观测删除。,二、建立SAS数据集的哑集,1、删除观测,42,第三节 SAS语言的语句和程序,例2.10 删除观测的例子,student,43,第三节 SAS语言的语句和程序,例2.10 程序1Data sas2_10;Set student;If sex=female;Run;Proc print data=sas2_10;Run;,44,第三节 SAS语言的语句和程序,例2.10 程序2Data sas2_10;Set student;If sex=female then delete;Run;Pr
25、oc print data=sas2_10;Run;,45,第三节 SAS语言的语句和程序,有时并不需要数据集中的所有变量,可以用drop或keep语句来删除或保留数据集中的变量,注意同一个数据步中drop和keep语句不能同时出现。,2、删除变量,46,第三节 SAS语言的语句和程序,例2.11 程序1Data sas2_11;Set student;Keep id name sex age;Run;Proc print data=sas2_11;Run;,删除变量的例子,仅保留数据集student中的部分变量(id,name,sex,age)。可以用下面两个SAS程序。,47,第三节 SA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 统计分析 软件 应用
链接地址:https://www.31ppt.com/p-5447409.html