研究生SAS教程PPT课件_第1页
研究生SAS教程PPT课件_第2页
研究生SAS教程PPT课件_第3页
研究生SAS教程PPT课件_第4页
研究生SAS教程PPT课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲 SAS系统概述一、什么是 SAS系统二、 SAS/BASE简介第1页/共65页一、什么是 SAS系统SAS系统是一个模块化的集成软件系统,提供数据访问、数据管理、数据分析、数据呈现。包括:1. 基本部分(也是核心部分): BASE SAS;2. 统计分析: SAS/STAT;3. 高级绘图: SAS/GRAPH;4. 矩阵运算: SAS/IML;5. 运筹学和线性规划: SAS/OR;6. 经济预测和时间序列分析: SAS/ETS;7.面向任务的菜单驱动界面:SAS/ASSIST第2页/共65页二、SAS系统的特点2. SAS语言是编程能力强且简洁易学的非过程语言3. SAS系统把数据

2、处理与统计分析融为一体4. 适用性强、应用面广二、SAS系统的特点1. 使用灵活方便、功能齐全第3页/共65页三、 SAS/BASE简介 主要功能是: 可以单独使用,也可以同其它软件产品一起组成一个用户化的SAS系统。3.报表生成和图形显示功能1.数据管理2.基础统计计算功能第4页/共65页1.数据管理功能:(1)信息存贮和检索:可用任何格式读入数据值,然后组成SAS数据集。具有很强的与外部文件交换信息的功能,可以用文件操作管理方法把不同数据集的数据组合在一起,供SAS过程分析处理,生成报表.(2) 数据修改与程序设计:(3) 文件操作:用于对数据进行编辑、整理、连接、合并及更新的功能,还能同

3、时处理多个输入文件,或者对一次输入的数据能够生成几种报表。第5页/共65页3.报表生成和图形显示功能2.基础统计计算功能.计算简单的描述性统计量.SAS函数可用于计算概率分布函数、分位数、产生随机数等第6页/共65页一、SAS显示管理系统(Display Manager System,DMS)第二讲 SAS使用概述()编辑窗口(PROGRAM EDITOR):编辑程序和数据文件;()日志窗口(LOG): 记录运行情况,显示信息;()输出窗口(OUTPUT):输出运行的结果;()图形窗口(GRAPH):输出图形。点击 Globals 菜单中的 Program editor、Log、Output、

4、Graph 命令可以进入编辑、日志、输出及图形窗口。按功能键F5、F6、F7也可以进入编辑、日志及输出窗口。是用户和SAS系统交互式会话环境;点击图标后,即可进入的显示管理系统在中有四个主要的窗口: 第7页/共65页二、的功能键用功能键可以代替对菜单的点击,有时比较方便。最常用的功能键有F1 :显示帮助信息();4 :显示已经运行的程序();5 :进入编辑窗口();6 :进入日志窗口();7 :进入输出窗口();8 :程式提交运行();9 :显示功能键();以上功能键的用法熟悉之后,还可以定义或修改功能键。例如,可以定义Ctrl+E为功能键,用来清屏。第8页/共65页三、SAS语句一个SAS语

5、句是由SAS关键词,SAS名字,特殊字符和运算符组成的字符串,并以分号(;)结尾。SAS关键词: 如data语句,proc语句,infile语句等SAS名字:最多由1-8个字符组成,首字符必须是字母或下 下划线(字符包括:字母、数字或下划线) 如:变量名、SAS数据集名、过程名等SAS语句 一般形式:KEYWORD parameteroption;注:SAS规定,每个语句以“;”作为该语句结束的标志。 第9页/共65页四、SAS程序1.DATA语句:产生SAS数据集2.PROC语句:对SAS数据集内数据进行分析处理,输出结果SAS程序:三明治 以DATA语句开始(面包),告诉程序有关的数据集最

6、后是PROC语句中间是数据(肉)一序列语句组成一个SAS程序,完成一定的功能.SAS程序中语句分为两种:SAS程序构成:一个或多个data语句、一个或多个proc语句一个或多个proc语句一个或多个data语句第10页/共65页程序示例:data ex;input no$ sex$ age h w;cards;10 f 47 156.3 47.124 m 38 172.4 61.553 m 41 169.2 64.546 f 52 158.2 53.638 f 39 160.1 48;proc sort;by sex;proc means;by sex;var h w;run;第11页/共65

7、页第四讲 DATA步入门一、什么是二、创建SAS数据集三、 DATA步语句及其类型第12页/共65页一、什么是DATA步1.检索:把输入数据转化为SAS数据集;2.编辑:检查数据中的错误并修改它们,计算新变量;3.按照用户设计的规格输出报告并存为磁盘文件;4.从已经存在的数据集中通过取子集、合并和 更新原数据的方法来产生新的数据集。DATA步是用DATA语句开始的一组或几组SAS语句。其目的:第13页/共65页1.数据在作业流中:从作业流中输入数据产生SAS数据集二、创建SAS数据集Ex.1 data d1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 4

8、 5 6 ;一般形式为:注:数据之间以空格隔开;数据行与行之间不用分号。data 语句; input 语句; (用于data步的其它SAS语句;) cards; 数据行 ;第14页/共65页2.数据在磁盘上:从磁盘上读入数据文件产生SAS数据集二、创建SAS数据集Ex.2 data d2; infile e:da1.dat; input x1 x2 x3; y=x1+x2+x3; run;一般形式为:data 语句; infile 语句; input 语句; (用于data步的其它SAS语句;) run; 第15页/共65页3.数据来自其它SAS数据集:从一个或几个已经存在的SAS数据集产生新

9、的SAS数据集二、创建SAS数据集Ex.3 data d3; set da2; if x10; run;一般形式为:data 语句; set|merge|update|modify语句;(用于data步的其它SAS语句;) run; Ex.4 data d3; merge da1 da2; run;第16页/共65页4.把SAS数据集转换为外部数据或输出报表二、创建SAS数据集一般形式为:data null-; input语句和(cards|infile)语句;或者set|merge|updata|modify语句; file 语句;(*告诉SAS这里要输出报表或存贮文件) put 语句(*用

10、一个或几个put语句输出这张报表或文件的一些行) (用于data步的其它SAS语句;)run; 第17页/共65页三、 DATA步语句及其类型只用于 DATA步的SAS语句共有56个,分为四类:文件操作语句、运行语句、控制语句、信息语句。常用的data步语句:文件操作语句:data、input、cards、 file、 infile、by、set、merge等运行语句:赋值语句、累加语句等控制语句:循环语句、条件语句等信息语句:(略)第18页/共65页(1) 语句 语句的作用是表明数据步的开始并给出数据集的名称。 语句的格式为: 数据集的名称; 注:1)数据集的名称必须以英文字母开始,最长不超

11、过个字符。 2)数据集的名称都是由符号“”分隔的两个部分所组成。第一部分标记数据集所存储的位置,称作一级名或库逻辑名。第二部分标记一个特定的数据集,称作二级名。如果不想把数据集永久储存在指定的磁盘上,可以只使用二级名。第19页/共65页例: ;系统会自动地把作为数据集的二级名,并添加作为数据集的一级名,因此在日志窗口显示的信息中记该数据集为。但是这个数据集是临时的,它仅仅在程式运行期间有效,过后它就被复盖,不能重新调用。第20页/共65页(2) 语句语句的作用是与“;”呼应,标志数据行的开始与结束。 语句的格式为: ; 数据行 ;注:如果使用语句,在的后面必须紧跟数据行,并且在一个数据步中最多

12、只能有一个语句。第21页/共65页(3)语句 语句的作用是描述输入记录中的数据,并把输入值赋给相应的变量。 语句的格式为: 数据的变量名、顺序及类型;注1:用语句是为了读外部文件的数据或跟在语句后面的数据。除非在语句中的变量名后有串符号或用字符的输入格式表示、或该变量事先已被定义为字符型,否则认定用语句读入的是数值型变量的值。第22页/共65页注2.用语句时,外部文件中的数据和语句后面的数据都采取列表输入的方法,各个变量的值由它们之间的空格来分隔。为从一行读入多个观测值,应使用行保持符限制读数指针,使其保持在这一行上读数,直到数据读完为止。 Ex.1 data ex1; input x1 x2

13、 x3; y=x1+x2+x3; cards; 1 2 3 4 5 6 ;Ex.1 data ex1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 4 5 6 ;第23页/共65页(4)语句 语句的作用是指明外部数据文件的名称,并从这个外部数据文件中读取数据。 语句的格式为: 外部数据文件名; 例如,在驱动器上有一个名称为ex2的数据文件,其中数据排列为: 3.12 2.23 3.4 4.12 4.2 .5用语句读取数据的程式为: ; :ex2.; $ ; 用语句读取数据时,要求外部数据文件必须是可以在操作系统中用命令打印出全部内容的码文本文件。第24页/

14、共65页(5) 语句 语句的作用是按照指定的条件从指定的数据集中读取数据建立新的数据集或将两个数据集中的观测值纵向连接建立新的数据集。 语句的格式为: 数据集名表; 例如,从数据集中读取数据建立新的数据集,可编辑语句: ; ; 将两个数据集和中的观测值纵向连接建立新的数据集,可编辑语句: ; ;第25页/共65页data d1;input g$ a b ;cards; 1 5 7 1 7 9 1 3 4 ;data d2;input g$ a c ; cards; 2 4 8 2 6 6 2 8 10 ;data d3;set d1 d2;proc print;run;运行结果Obs g a

15、b c 1 1 5 7 . 2 1 7 9 . 3 1 3 4 . 4 2 4 . 8 5 2 6 . 6 6 2 8 . 10第26页/共65页(6) 语句 语句的作用是将两个数据集中的各个观测值横向合并建立新的数据集。语句的格式为: 数据集名表; 例如,将数据集与中的观测值横向合并建立新的数据集,可编辑语句: ; ;第27页/共65页data d1;input a b c ; cards; 1 5 7 1 7 9 1 3 4 1 2 6 ; data d2;input x y z ; cards; 2 4 8 2 6 6 ; data d3;merge d1 d2; proc print;

16、run; 本程式运行的结果如下: OBS A B C X Y Z 1 1 5 7 2 4 8 2 1 7 9 2 6 6 3 1 3 4 . . . 4 1 2 6 . . .第28页/共65页(7) do语句 简单do语句 循环do语句 do while 语句 do until 语句第29页/共65页简单do语句:常常用在if-then/else语句里来指定一个语句组根据if条件成立或不成立时被执行,格式为:do; 一些sas语句end;例:data a;input x;if x5 then do; y=x*10; put x= y= ; end;cards;12 4 11 5;输出结果:x

17、=12 y=120 x=11 y=110第30页/共65页例: data ex; do x=1.645, 1.96, 2.576; p=probnorm(x); put x= p= ; end; run;在log窗口输出结果:x=1.645 p=0.9500150945x=1.96 p=0.9750021049x=2.576 p=0.9950024677第31页/共65页循环do语句:格式为:do; 一些sas语句end;例:data a;do x=-3 to 3 by 0.25;do y=-3 to 3 by 0.25; p=x*x+y*y;put x= y= p= ;end;end;run

18、;第32页/共65页第五讲 PROC步入门一、什么是PROC 步?二、 PROC语句第33页/共65页一、什么是PROC 步?PROC 步是用PROC语句开始的一组或几组SAS语句。一般形式为:PROC SAS过程名 ; (用于proc步的其它SAS语句;) run;Ex.4 proc print data=d1; run;注: 1.不同的SAS过程可以使用的 也是不同的。2. Proc步中常出现的SAS控制语句: (1)var 变量名; (2)by 变量名;(要求排序) (3)class 变量名; (4) ID 变量名;第34页/共65页二、 SAS基本输出过程1.proc print;或或

19、 proc print data=文件名文件名;Ex.5 data d1; input x1 x2 x3; y=x1+x2+x3; cards; 1 2 3 2 3 4 ; proc print data=d1; run;第35页/共65页2.proc plot;语法:语法:proc plot 选项;选项; by 变量列表变量列表; plot 选项;选项;选项:如vpect=33(规定产生的散布图在垂直方向占一页的比例 hpct=50 formchar =字符串 plot 选项;plot vertical*horizontal 或plot vertical*horizontal=字符或变量第3

20、6页/共65页3.proc sort ; by variables; run;第37页/共65页1.proc means ; var variables; by variables; freq variables; output out=新文件名新文件名 变量名列表(统计关变量名列表(统计关键词键词=)run;三、 SAS基础统计过程Options: mean std clm alpha t prt 第38页/共65页注注1:proc means 可以计算的统计量由可以计算的统计量由21种,种,分别用下述关键词表示:分别用下述关键词表示: n,nmiss,mean, std,max,min,

21、range,sum,var,uss,css,cv,stderr,t,prt, skewness,kurtosis,clm,lclm,uclm注2:output out=新文件名 变量名列表(统计关键词=)第39页/共65页Ex:proc means data=ex; var weight height; class sex; output out=result mean=meanweight meanheight std(weight)=stdweight std(height)=stdheight run;proc print data=result;run; 第40页/共65页偏态与峰度分

22、布的形状第41页/共65页偏态(概念要点) 1、数据分布偏斜程度的测度 2.偏态系数=0为对称分布 3.偏态系数 0为右偏分布 4.偏态系数 0为左偏分布 5. 计算公式为33)2)(1(snnXXnSKi第42页/共65页偏态(实例)表表4-10 1997年年农村居民家庭纯收入数据农村居民家庭纯收入数据按纯收入分组(元)按纯收入分组(元)户数比重(户数比重(%)500以下以下500100010001500150020002000250025003000300035003500400040004500450050005000以上以上2.2812.4520.3519.5214.9310.356.

23、564.132.681.814.94第43页/共65页偏态与峰度(从直方图上观察)第44页/共65页偏态系数(计算结果)第45页/共65页峰度(概念要点)1. 数据分布扁平程度的测度2. 峰度系数=3扁平程度适中3. 偏态系数3为尖峰分布5. 计算公式为第46页/共65页峰度系数系数(实例计算结果)第47页/共65页2.proc univariate var variables; by variables; freq variables; output run;Options:normal注:计算分位数、频率表、数据的正态性检验等第48页/共65页Options:1.Normal2.Plot

24、(生成一个茎叶图或水平直方图、 一个盒形图、一个正态概率图)第49页/共65页3.proc ttest class variables; var variables; run;第50页/共65页4.proc corr var variables; with variables; by variables; freq variables;run;注:计算Pearson相关系数和显著性概率以及 单变量统计量第51页/共65页第六讲 全程语句一、什么是全程语句?二、 常用的全程语句第52页/共65页一、什么是全程语句?全程语句: 既可以用在data步,也可以用在proc步;既可以用在data步和pr

25、oc步的外部,也可以用在data步和proc步的内部。这些语句可以用在SAS程序的任何地方,称为全程语句.第53页/共65页二、 常用的全程语句1.注释语句: * messages; 或 /* messages*/ (无需分号)2.Title语句:规定同SAS输出一起被打印的标题行 Title (n=110)e.g. Title2 Annual costs3.run ;4.endsas;第54页/共65页应用SAS计算二项分布的分位数probbnml(p,n,k)=,2, 1 ,0,)1 (00! )( !nkppiXPinikikiinin而PX=k= probbnml(p,n,k)prob

26、bnml(p,n,k1)data ex;do k=1 to 10 by 1 ;p=probbnml(0.5,10,k)-probbnml(0.5,10,k-1);put p;end;第55页/共65页data ex;do k=1 to 10 by 1 ;do p=0.5;n=10;value=probbnml(p,n,k)-probbnml(p,n,k-1);output;end;end;proc print data=ex;run;第56页/共65页应用SAS计算标准正态分布的分位数在SAS中有probit(p)函数,用此函数可以求p分位数。SAS程序为data ex;do p=0.025,

27、0.05,0.1,0.9,0.95,0.975;u=probit(p);put u p ;end;run;输出的结果如下:-1.959963985 0.025-1.644853627 0.05-1.281551566 0.1 1.2815515655 0.9 1.644853627 0.95 1.9599639845 0.975第57页/共65页当=0.10,0.05,0.01时,应用SAS计算双侧分位数的程序为:data ex;do x=0.1,0.05,0.01;p=1-x/2;u=probit(p);put x p u;end;run;输出的结果如下:0.1 0.95 1.6448536

28、270.05 0.975 1.95996398450.01 0.995 2.5758293035第58页/共65页应用SAS计算卡方分布的分位数在SAS中有cinv(p,df)函数,用此函数可以求p分位数。SAS程序为data ex;do df=4;do p=0.025,0.05,0.1,0.9,0.95,0.975;c=cinv(p,df);put p df c;end;end;run;输出的结果如下:0.025 4 0.48441855710.05 4 0.71072302140.1 4 1.06362321680.9 4 7.77944033970.95 4 9.48772903680.975 4 11.143286782第59页/共65页应用SAS计算t分布的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论