《统计分析软件基础教程 数据文件管理.pptx》由会员分享,可在线阅读,更多相关《统计分析软件基础教程 数据文件管理.pptx(170页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1掌握掌握SAS数据步语言数据步语言掌握掌握SAS数据集的创建数据集的创建掌握掌握SAS数据集的加工整数据集的加工整理理内容与要求内容与要求第1页/共170页2SASSAS语言语言1 1数据步入门数据步入门2 2数据集整理数据集整理4 4创建数据集创建数据集3 3第2页/共170页3SAS语言 在在Windows环境下运用环境下运用SAS系统进行常用的系统进行常用的统计分析时,虽然前面介绍的两个菜单系统可让用统计分析时,虽然前面介绍的两个菜单系统可让用户不必编写程序而方便地使用户不必编写程序而方便地使用SAS系统的数据管系统的数据管理和一些统计分析功能,但目前并不是所有的统计理和一些统计分析功
2、能,但目前并不是所有的统计方法方法 都可以通过菜单系统来实现,如都可以通过菜单系统来实现,如“应用多元应用多元统计分析统计分析”中将介绍的一些统计方法以及一些特殊中将介绍的一些统计方法以及一些特殊或较深入的分析功能必须用编程实现或较深入的分析功能必须用编程实现.编程是功能编程是功能最强的使用最强的使用SAS系统进行统计分析的方法系统进行统计分析的方法.第3页/共170页4 SAS语言是一种专用的数据处理、统计计算语语言是一种专用的数据处理、统计计算语言,但是它也包含一般的高级语言编程能力并扩充言,但是它也包含一般的高级语言编程能力并扩充了许多数学、统计等方面的函数。下面我们先介绍了许多数学、统
3、计等方面的函数。下面我们先介绍一些一些SAS函数,然后结合函数,然后结合SAS要完成的操作来介绍要完成的操作来介绍SAS语言,如用来进行一般编程计算的功能及其独语言,如用来进行一般编程计算的功能及其独特的数据处理功能。特的数据处理功能。SAS数据步的数据输入、整理功能很强,以下数据步的数据输入、整理功能很强,以下只能介绍常用的功能。希望进行复杂的数据管理的只能介绍常用的功能。希望进行复杂的数据管理的读者可以参考读者可以参考Base SAS的使用手册。的使用手册。第4页/共170页5 SAS语言也是一种计算机语言语言也是一种计算机语言,常称为非过程语常称为非过程语言或第四代语言言或第四代语言.过
4、程语言一般是指过程语言一般是指:BASIC语言语言,C语言语言,Fortran 语言语言 等需要给出计算过程的语言等需要给出计算过程的语言.第一代至第四代语言是指第一代至第四代语言是指:机器语言机器语言,汇编语言汇编语言,高高级语言级语言(如如Fortran 语言等语言等),非过程语言非过程语言.第5页/共170页6 同其他计算机语言一样,同其他计算机语言一样,SAS语言也有它自己的语言也有它自己的语汇和句法语汇和句法-关键词和连结关键词与关键词和连结关键词与 其他辅助信息其他辅助信息的规则的规则.用户使用用户使用SAS语言来生成数据集并规定对数据怎语言来生成数据集并规定对数据怎样做统计分析的
5、问题样做统计分析的问题.由由由由SASSAS语句组成的序列称为语句组成的序列称为语句组成的序列称为语句组成的序列称为SASSAS程序程序程序程序.一个一个SAS语句是由语句是由SAS关键词、关键词、SAS名字、特殊名字、特殊字符和运算符组成的字符串,并以分号(;)结尾,字符和运算符组成的字符串,并以分号(;)结尾,它要求它要求SAS系统执行一种操作或给系统执行一种操作或给SAS系统提供信系统提供信息息.第6页/共170页7SAS语句语句 许多许多SAS语句都是以关键词开始并用它识别语句语句都是以关键词开始并用它识别语句的类型的类型.如如DATA语句、语句、PROC语句、语句、INPUT语句等语
6、句等.SAS语句中可能出现的语句中可能出现的SAS名字种类很多名字种类很多,如变量如变量名名SAS数据集名、格式名、过程名、数组名、语句标数据集名、格式名、过程名、数组名、语句标号名、以及作为文件标记和库标记的特殊名字号名、以及作为文件标记和库标记的特殊名字.SAS名字最多可由名字最多可由32(V6为为8)个字符组成个字符组成,第一个第一个字符必须是字母字符必须是字母(A,B,Z)或下划线或下划线(_),后面的字符后面的字符可以是字母可以是字母,数字数字(0,1,2,9)或下划线或下划线.每个每个SAS语句都用分号语句都用分号(;)结束结束,出现在出现在SAS语句语句中的其他特殊字符和算符有圆
7、括号中的其他特殊字符和算符有圆括号(),美元符号美元符号(),小数点号小数点号(),等号等号(),冒号冒号(:)和加号和加号().第7页/共170页8 SAS语句书写的格式较为灵活语句书写的格式较为灵活:语句可以在某一行的任何位置开始和结束语句可以在某一行的任何位置开始和结束;词间可任意加入空格和换行词间可任意加入空格和换行;一个语句可以写成几行,只要语句中的关键词不一个语句可以写成几行,只要语句中的关键词不被断开就可以;被断开就可以;多个语句可写在一行;多个语句可写在一行;SAS语句用大写字母、小写字母或两者混合书写语句用大写字母、小写字母或两者混合书写均可以均可以.但但字符型数据值要区分大
8、小写字符型数据值要区分大小写,比如,比如Beijing 和和BEIJING被认为是不同的数据值被认为是不同的数据值.第8页/共170页9SAS程序程序 一序列一序列SAS语句组成一个语句组成一个SAS程序程序.SAS程序中的程序中的语句分别属于两类步骤:语句分别属于两类步骤:DATA步和步和PROC步步.这两类这两类步骤是所有步骤是所有SAS程序的组成部分程序的组成部分.每一步是一段相对每一步是一段相对完整的可以单独运行的程序。完整的可以单独运行的程序。通常用通常用DATA步产生步产生SAS数据集,而用数据集,而用PROC步步对对SAS数据集中的数据进行分析处理并输出结果数据集中的数据进行分析
9、处理并输出结果.一个一个SAS程序可由一个程序可由一个DATA步或一个步或一个PROC步步组成;或者由组成;或者由DATA步和步和PROC步两部分组成;也可步两部分组成;也可由多个由多个DATA步和步和PROC步组成步组成.第9页/共170页10用户提交的用户提交的SAS程序由许多程序步构成。程序由许多程序步构成。数据步数据步DATA步步过程步过程步PROC步步原始原始数据数据SAS表SAS表报告报告数据步常用于创建数据集过程步常用于处理数据集(生成报表、图形和实现数据分析功能)SAS编程基本概念编程基本概念第10页/共170页11 数据步以数据步以DATA语句开始语句开始,RUN语句结尾语句
10、结尾,用于创用于创建和加工建和加工SAS数据集数据集.在数据步中使用的在数据步中使用的SAS语句包括语句包括:文件操作语句文件操作语句-要求要求SAS创建一个或几个新的创建一个或几个新的SAS数据集的语句数据集的语句,如如DATA、INPUT、CARDS、INFILE、SET、MERGE等语句等语句;运行语句运行语句-对创建数据集所必须进行的运算语对创建数据集所必须进行的运算语句,如赋值、累加、句,如赋值、累加、Where等语句等语句;SAS数据步(数据步(DATA步)步)第11页/共170页12 控制语句控制语句实现从程序的一部分转移到另一部分实现从程序的一部分转移到另一部分的语句的语句,如
11、如DO、IF、GO TO、SELECT、LINK等语句等语句;信息语句信息语句给出关于数据集或正被生成的数据给出关于数据集或正被生成的数据集的附加信息集的附加信息,如如ARRAY、INFORMAT、FORMAT、LENGHT、ATTRIB、KEEP、DROP等语句等语句.第12页/共170页13常用的数据步文件管理语句常用的数据步文件管理语句第13页/共170页14DATA语句格式语句格式DATA data-set-name-1 .data-set-name-n ;DATA view-name data-set-name-1 .data-set-name-n /VIEW=view-name()
12、;DATA data-set-name/PGM=program-name ();DATA PGM=program-name();REDIRECTREDIRECT INPUT|OUTPUT old-name-1=new-name-1 ;DATA VIEW=view-name();DESCRIBE;第14页/共170页15选项说明选项说明 这里只给出常用选项的说明,其它选项说明可以这里只给出常用选项的说明,其它选项说明可以从从SASSAS系统帮助中查找。系统帮助中查找。第15页/共170页16例例4.1规定要创建的规定要创建的SAS数据集。数据集。dataa;/*创建临时数据集创建临时数据集a*/
13、datafdata.capital;/*创建永久数据集创建永久数据集fdata.capital*/datadata1data2;/*创建两个临时数据集创建两个临时数据集data1和和data2*/data_null_;/*特殊名,不创建特殊名,不创建SAS数据集,用于输出数据集,用于输出*/data;/*系系统统自自动动规规定定数数据据集集名名,data1,datan*/例例4.2数据集选项举例。数据集选项举例。datanew(drop=var1);/*去去掉掉数数据据集集new中中变变量量var1*/datanew(keep=_numeric_);/*保保留留数数据据集集new中中所所有有数
14、值变量数值变量*/datanew(label=股股票票价价格格);/*规规定定数数据据集集new标标签签名名为为”股票价格股票价格”*/datanew(rename=(var1=uvar2=v);/*将将变变量量var1和和var2更更名为名为u和和v*/databook(index=(author);/*数数据据集集book对对变变量量author建建立立索引索引*/第16页/共170页17例例4.3创建创建DATA步数据视窗文件。步数据视窗文件。dataclass/view=class;setfdata.class;run;例例4.4存贮被编辑程序。存贮被编辑程序。data.class1(
15、keep=nameageweight)/pgm=.cl;/*cl是被存贮是被存贮的的SAS程序程序*/setfdata.class;run;例例4.5用用DATA步执行一个被存贮的编辑程序。步执行一个被存贮的编辑程序。datapgm=fdata.cl;run;第17页/共170页18特殊数据集名特殊数据集名 _ _data_(data_(省略数据集名省略数据集名)datadata _data_data_;/*/*等价于语句等价于语句data;*/data;*/系统自动为数据集赋名:系统自动为数据集赋名:data1,data2,data1,data2,datan.,datan.第18页/共170
16、页19_ _null_null_ 一一般般和和PUTPUT语语句句一一起起用用。由由PUTPUT输输出出结结果果,只只输输出出到到LOGLOG窗窗口口,不不会会产生产生SASSAS数据集。数据集。例例4.6 4.6 不产生数据集。不产生数据集。datadata _null_null_;x=exp(x=exp(5 5););y=log(y=log(1010););putput x=y=;x=y=;runrun;第19页/共170页20_ _last_last_last_last_是是SASSAS系统的一个自动变量,取值为最新创建的系统的一个自动变量,取值为最新创建的SASSAS数据集名。数据集名
17、。例例4.7 4.7 查看最新创建的查看最新创建的SASSAS数据集。数据集。datadata a;a;setset _last_last_;runrun;第20页/共170页21 过程步以过程步以PROCPROC语句开始,用于分析处理语句开始,用于分析处理SASSAS数数据集中的数据。据集中的数据。从过程库中调出一个过程并执行这个过程,以从过程库中调出一个过程并执行这个过程,以SASSAS数据集作为输入数据,数据集作为输入数据,PROCPROC语句开始的一组或几语句开始的一组或几组组SASSAS语句完成一个语句完成一个SASSAS过程,以另一个过程,以另一个“PROCPROC”、“DATAD
18、ATA”或或“RUN RUN”语句结束语句结束.指定指定PROCPROC步调用的步调用的SASSAS程序,选择项指明分析的程序,选择项指明分析的数据集,分析结果的输出要求,以及分析过程中需数据集,分析结果的输出要求,以及分析过程中需要用到的一些参数要用到的一些参数.SAS过程过程步(步(PROC步)步)第21页/共170页22 若干数据步和几个过程步构成一个若干数据步和几个过程步构成一个SAS程程.SAS程程序一般在序一般在PGM窗口采用全屏幕编辑方式输入窗口采用全屏幕编辑方式输入.当程序当程序输入完毕,检查修改后就可以输入完毕,检查修改后就可以 提交给提交给SAS系统执行系统执行.在程序执行
19、的过程中,日志(在程序执行的过程中,日志(LOG)窗口显示)窗口显示程序执行中记录的信息;它包括执行哪个语句;生成程序执行中记录的信息;它包括执行哪个语句;生成的数据集中变量个数及观测个数是多少的数据集中变量个数及观测个数是多少;每一步的时每一步的时间及出错信息等等间及出错信息等等.SAS过程产生的输出显示在过程产生的输出显示在OUTPUT窗口窗口.第22页/共170页23 数据步程序中的计算由表达式来完成。表达式把数据步程序中的计算由表达式来完成。表达式把运算对象(常数,变量,函数调用等)用一系列算符运算对象(常数,变量,函数调用等)用一系列算符(如特殊的运算符、括号等)连接起来,被执行后得
20、(如特殊的运算符、括号等)连接起来,被执行后得到一个目标值到一个目标值.表达式分为简单表达式表达式分为简单表达式(仅用一个算符仅用一个算符)和复合的和复合的表达式表达式(使用多个算符使用多个算符).在数据步为了对变量作变换在数据步为了对变量作变换,建立新变量、条件处建立新变量、条件处理、计算新数值及指定新数值时使用表达式来编写程理、计算新数值及指定新数值时使用表达式来编写程序语句序语句.第23页/共170页24 SAS常量主要有数值型、字符型两种,并且还提供常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。例如了用于表达日期、时间的数据类型。例如 数值型:数值型:12,7
21、.5,2.5E10 字符型:字符型:Beijing,Li Ming,李明李明 日期型:日期型:13JUL1998d 时间型:时间型:14:20t 日期时间型:日期时间型:13JUL1998:14:20:32dt 因为因为SAS是一种数据处理语言,而实际数据中是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问人经常会遇到缺失值,比如没有观测到数值,被访问人不肯回答等等。不肯回答等等。SAS中用一个单独的小数点(中用一个单独的小数点(.)来)来表示缺失值常量。表示缺失值常量。(sasLan11.sas)SAS表达式表达式第24页/共170页25 SAS变量的基本类型有两种
22、:数值型和字符型。日变量的基本类型有两种:数值型和字符型。日期、时间等变量存为数值型。期、时间等变量存为数值型。SAS的数值型变量可以存储任意整数、定点实数、的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用中的存贮一般使用8个字节。个字节。SAS的字符型变量缺省的长度是的字符型变量缺省的长度是8个字符,但是个字符,但是如果在如果在INPUT语句中输入字符型变量时指定了长度则语句中输入字符型变量时指定了长度则不受此限制。不受此限制。可以用可以用LENGTH语句直接指定变量长度。语句直接指定变量长度
23、。如如 LENGTH name$20;第25页/共170页26 SAS运算符包括算术、比较、逻辑等运算符。运算符包括算术、比较、逻辑等运算符。算术运算符算术运算符为为,*,/,*,运算优先级按通常的,运算优先级按通常的优先规则。优先规则。比较运算符比较运算符用于比较常量、变量的值大小、相等,用于比较常量、变量的值大小、相等,包括包括 =1000)AND(salary 2000)表示工资收入在表示工资收入在10002000之间(不含之间(不含2000););(age=1000)AND(salary 2000)表示工资收入不在表示工资收入不在10002000之间。之间。第27页/共170页28 其
24、它的运算符还有用于连接两个字符串的其它的运算符还有用于连接两个字符串的|(两个连(两个连续的续的|号),用于取两个运算值中较大一个的号),用于取两个运算值中较大一个的(比如(比如35结果为结果为5),用于取两个运算值中较小一个的),用于取两个运算值中较小一个的5结果为结果为3)。)。比较运算符得到比较运算符得到“真真”(赋值赋值)或或“假假”(赋值赋值)的结果,主要用于需要条件的分支、循环等语句的结果,主要用于需要条件的分支、循环等语句中。中。若比较表达式的值为或缺失值若比较表达式的值为或缺失值,称为表达式不成立称为表达式不成立(“假假”);否则表达式成立否则表达式成立(“真真”).第28页/
25、共170页29 在在SAS系统系统9.1版本版本,SAS函数分为二十五种类型函数分为二十五种类型,它们是算术函数、截取函数、数学函数、概率和密度它们是算术函数、截取函数、数学函数、概率和密度函数、分位数函数、非中心函数、样本统计函数、随函数、分位数函数、非中心函数、样本统计函数、随机数函数、财政金融函数、字符函数、日期和时间函机数函数、财政金融函数、字符函数、日期和时间函数、洲和数、洲和Zip码码(邮政编码邮政编码)换算函数和特殊函数等等换算函数和特殊函数等等(在在SAS系统系统6.12版本,版本,SAS函数分为十七种类型共函数分为十七种类型共有有178个个,SAS系统系统8.1版本,版本,S
26、AS函数分为二十二种函数分为二十二种类型共有类型共有319个函数个函数).SAS函数函数第29页/共170页30 SAS系统提供的系统提供的SAS函数比一般高级语言的标准函数比一般高级语言的标准函数多得多函数多得多.如此丰富的如此丰富的SAS函数,对用户编写函数,对用户编写SAS程序带来极大的方便,尤其是概率函数、分位数函数、程序带来极大的方便,尤其是概率函数、分位数函数、非中心函数、样本统计函数非中心函数、样本统计函数、随机数函数、随机数函数,这几类函这几类函数是一般高级计算机语言所没有的数是一般高级计算机语言所没有的,它们为统计分析计它们为统计分析计算提供更大的方便。算提供更大的方便。下面
27、我们分类介绍一些下面我们分类介绍一些SAS函数,主要介绍用函数,主要介绍用于统计计算的于统计计算的SAS函数函数.第30页/共170页31 第31页/共170页32测试函数功能的一个简单的程序:测试函数功能的一个简单的程序:data _null_;y=sqrt(3);put y=;run;程序提交后将在程序提交后将在LOG窗口给出窗口给出SQRT(3)的结果为)的结果为Y=1.7320508076 。第32页/共170页33 SAS语语言言作作为为一一种种统统计计计计算算语语言言,它它提提供供了了多多种种概概率率分分布布的的有有关关函函数数。其其中中分分布布密密度度、概概率率、累累积积分分布布
28、函函数数等等可可以以通通过过几几种种统统一一的的格格式式调调用用,格式为格式为 分布函数值分布函数值=CDF(分布分布,x);密度值密度值=PDF(分布分布,x);概率值概率值=PMF(分布分布,x);对数密度值对数密度值=LOGPDF(分布分布,x);对数概率值对数概率值=LOGPMF(分布分布,x);第33页/共170页34CDF计算由计算由分布分布指定的某种分布的分布函数,指定的某种分布的分布函数,PDF计算分布密度函数计算分布密度函数值,值,PMF计算离散分布的分布概率,计算离散分布的分布概率,LOGPDF为为PDF的自然对数,的自然对数,LOGPMF为为PMF的自然对数的自然对数.例
29、如,例如,PDF(NORMAL,1.96)计算标准正态分布在计算标准正态分布在1.96处的密度值(处的密度值(0.05844););CDF(NORMAL,1.96)计算标准正态分布在计算标准正态分布在1.96处的分布函数值(处的分布函数值(0.975)PMF(NORMAL,1.96)=PDF(NORMAL,1.96)即即PMF对连续型分布即为对连续型分布即为PDF。除了用上述统一的格式调用外,除了用上述统一的格式调用外,SAS系统还单独提供了用系统还单独提供了用于计算常用分布的密度、分布函数。于计算常用分布的密度、分布函数。第34页/共170页35 PROBNORM(x):计计算算标标准准正正
30、态态的的分分布布函函数数.即计算服从标准正态分布的随机变量即计算服从标准正态分布的随机变量U小于等于小于等于给定给定x的概率的概率(PU=x).PROBCHI(x,df,nc):计计算算自自由由度度为为df,非非中中心心参参数数为为nc的的卡卡方方分分布布的的分分布布函函数数.如如果果nc没没有有规规定定或或取取为为0,那那么么被被计计算算的的就就是是中中心心卡卡方方分分布布.自自由由度度df允许不是整数允许不是整数.例如例如:p=1-probchi(31.264,11);的结果为的结果为1-0.999=0.001.第35页/共170页36 PROBGAM(x,a):计计算算形形状状参参数数a
31、(a0)的的伽伽马马分布的分布函数分布的分布函数.例如例如:p=probgam(7.5,5.2);的结果为的结果为0.84885.PROBBETA(x,a,b):计计算算贝贝塔塔分分布布的的分分布布函函数数(其中其中:,,).例如例如:p=probbeta(0.75,4,2.5);的结果为;的结果为0.7467.PROBF(x,ndf,ddf,nc):计计算算F分分布布函函数数(其其中中ndf为为分分子子自自由由度度,ddf为为分分母母自自由由度度,nc是是非非中中心心参参数数).当当分分布布是是中中心心F分分布布时时,取取nc=0或或不不规规定定这这项项自自变变量量.自自由度可以是非整数由度
32、可以是非整数.例如例如:p=1probf(3.32,2,30);的结果是的结果是0.04983.第36页/共170页37 PROBT(x,df,nc):计计算算t分分布布分分布布函函数数(其其中中df为自为自由由度度,nc为为非非中中心心参参数数).若若参参数数nc没没有有规规定定或或取取为为0,那那么被计算的就是中心么被计算的就是中心t分布分布.自由度自由度df允许非整数允许非整数.PROBBNML(p,n,m)(0p1,n1,0mn):计:计算二项分布的概率分布函数算二项分布的概率分布函数.POISSON(lambda,n)(其其 中中 lambda,n):计算柏松分布的概率分布函数计算柏
33、松分布的概率分布函数.PROBNEGB(p,n,m)(其其 中中 0p1,n 0,m0):计算负二项分布的概率分布函数计算负二项分布的概率分布函数.第37页/共170页38 PROBHYPR(nn,k,n,x,r)(其中其中nn1,0knn,0nnn,max(0,k+nnn)xmin(k,n):计算:计算超几何分布的概率分布函数超几何分布的概率分布函数.设设nn个个产产品品中中有有K个个不不合合格格品品,抽抽取取n个个样样品,品,其中不合格品数小于等于其中不合格品数小于等于x的概率为此函数值。可的概率为此函数值。可选参数选参数r是不匀率,缺省为是不匀率,缺省为1,r代表抽到不合格品代表抽到不合
34、格品的概率是抽到合格品概率的多少倍。的概率是抽到合格品概率的多少倍。PROBBNRM(x,y,r)标标准准二二元元正正态态分分布布的的分分布布函数,函数,r为相关系数。为相关系数。(sasLan13.sas)第38页/共170页39 设设连连续续型型随随机机变变量量X的的分分布布函函数数为为F(x),对对给给定定的的p(0p1),若有若有xp使得使得F(xp)=p,则称则称xp为随机变量为随机变量X的的分分位位数数(或或称称分分布布F(x)的的p分分位位数数).SAS系系统统提提供供计算六种常见连续分布分位数的函数计算六种常见连续分布分位数的函数.CINV(p,df,nc)(其中其中0p1,自
35、由度自由度df0,非非中心参数中心参数nc0)计算卡方分布的分位数计算卡方分布的分位数.例如例如:data;q1=cinv(0.95,3);putq1=q1;q2=cinv(0.95,3.5,4.5);putq2=;run;结结果果是是q1=7.8147,q2=17.505(在在LOG窗窗口口显显示示).第39页/共170页40 BETAINV(p,a,b)(其其中中:0p1,a0,b0):计算贝塔分布的分位数计算贝塔分布的分位数.例如例如:x=betainv(0.001,2,4);的结果为;的结果为0.0101.FINV(p,ndf,ddf,nc)(其其中中0p1,分分子子自自由由度度ndf
36、0,分母自由度分母自由度ddf0,非中心参数非中心参数nc0):计计算算F分分布布的的分分位位数数.例例如如以以下下DATA步步计计算算的的结果为结果为q1=4.1028,q2=7.5838.data_null;q1=finv(0.95,2,10);putq1=;q2=finv(0.95,2,10,3.2);putq2=;run;第40页/共170页41 TINV(p,df,nc)(其中其中0p1,自由度自由度df0):计计算算t分分布布的的分分位位数数.若若nc没没有有规规定定或或取取nc=0,计算计算的的是是中中心心t分分布布的的分分位位数数.若若nc的的绝绝对对值值很很大大,使使用用的算
37、的算法可能失败法可能失败.这种情况函数得到一个缺失值这种情况函数得到一个缺失值.PROBIT(p)(0p1):计计算算标标准准正正态态分分布布的的分分位位数数.是是概概率率函函数数PROBNORM的的逆逆函函数数.如如果果随随机机变量变量XN(0,1),则则PXprobit(z)=z,这这个个函函数数产产生生的的结果在结果在5和和5之间之间.GAMINV(p,a)(其其中中:0p1,a0):计计算算伽伽马马分布分布的的 分分 位位 数数.例例 如如:x=gaminv(0.75,3.5);的的 结结 果果 为为4.51857.第41页/共170页42 设设有有一一组组观观测测数数据据:x1,x2
38、,xn(存存放放在在变变量量X1Xn或或X、Y、中中).SAS系系统统为为我我们们提提供供一一类类函函数数(共共15个个),用用于于计计算算这这组组样样本本值值的的有有关关统统计计量量.这这类类函数函数要求自变量是数值要求自变量是数值.它们是它们是:(1)均均值值:MEAN(ofx1-xn)或或MEAN(x,y,z,).例如例如x=mean(2,6);结果为;结果为4.x=mean(1,2,3,2);结果为结果为2.(2)最大值:最大值:MAX(ofx1-xn)或或MAX(x,y,).(3)最小值:最小值:MIN(ofx1-xn)或或MIN(x,y,).样本统计样本统计函数函数第42页/共17
39、0页43(4)非缺失数据的个数:非缺失数据的个数:N(ofx1-xn)或或N(x,y,).(5)缺失数据的个数:缺失数据的个数:NMISS(ofx1-xn)或或NMISS(x1,x2,).(6)求求和和:SUM(ofx1-xn)或或SUM(x1,x2,).(7)方差:方差:VAR(ofx1-xn)或或VAR(x1,x2,).(8)标准差:标准差:STD(ofx1-xn)或或STD(x1,x2,).例如例如x=std(2,6);和;和x=std(2,6);的结果都是的结果都是2.828427.x=std(2,4,6,3,1);的结果为;的结果为1.923538.第43页/共170页44(9)标标
40、准准误误:STDERR(ofx1-xn)或或STDERR(x1,x2,).例如例如:x=stderr(2,6,3,4);或;或x=stderr(2,6,3,4,);的结果都是;的结果都是0.8539126。(10)变异系数:变异系数:CV(ofx1-xn)或或CV(x1,x2,).(11)极极差差:RANGE(ofx1-xn)或或RANGE(x1,x2,).(12)偏差平方和偏差平方和(校正平方和校正平方和):CSS(ofx1-xn)或或CSS(x1,x2,).该函数计算非缺失自变量关于均值的偏差平方和该函数计算非缺失自变量关于均值的偏差平方和.(13)未校正的平方和:未校正的平方和:USS(
41、ofx1-xn)或或USS(x1,x2,).该函数计算非缺失自变量的该函数计算非缺失自变量的(未校正未校正)平方和平方和.第44页/共170页45(14)偏度:偏度:SKEWNESS(ofx1-xn)或或SKEWNESS(x1,x2,).该函数计算非缺失自变量的偏斜度该函数计算非缺失自变量的偏斜度.(15)峰度:峰度:KURTOSIS(ofx1-xn)或或KURTOSIS(x1,x2,).该该函函数数产产生生非非缺缺失失自自变变量量的的峰峰度度统统计计量量.它它要要求求至至少有少有4个非缺失自变量个非缺失自变量.ORDINAL(k,x1,x2,xn)返回数值列表返回数值列表x1,x2,xn中第
42、中第k小的值小的值.(saslan10.sas)第45页/共170页46 设设随随机机变变量量的的分分布布函函数数为为F(x),称称随随机机变变量量的的抽抽样样序序列列1,2,为为F(x)分分布布随随机机数数.产产生生各各种种常常用用分分布布的的随随机机数数是是随随机机模模拟拟方方法法的的基基础础.SAS系统提供产生系统提供产生11种常见分布随机数的函数种常见分布随机数的函数.均匀分布随机数函数均匀分布随机数函数:UNIFORM(seed)和和RANUNI(seed).标准正态分布随机数函数:标准正态分布随机数函数:NORMAL(seed)和和RANNOR(seed).随机数随机数函数函数第4
43、6页/共170页47利利用用这这个个函函数数经经变变换换还还可可以以得得到到一一般般正正态态分布随机数及对数正态随机数分布随机数及对数正态随机数.例如记例如记X=M+sqrt(SQ)rannor(seed)Y=exp(M+sqrt(SQ)rannor(seed)=exp(X)那么那么X是均值为是均值为M、方差为、方差为SQ的正态随机变量;的正态随机变量;Y是是对对数数正正态态变变量量,均均值值为为exp(M+SQ/2),方方差差为为exp(2M+SQ)*(exp(SQ)1).指数分布随机数函数:指数分布随机数函数:RANEXP(seed).伽马分布随机数函数:伽马分布随机数函数:RANGAM(
44、seed,alpha)(其中其中alpha0).第47页/共170页48 三角分布随机数函数三角分布随机数函数:RANTRI(seed,h)(其中其中0h1).柯西分布随机数函数柯西分布随机数函数:RANCAU(seed).二项分布随机数函数二项分布随机数函数:RANBIN(seed,n,p)(其中其中n0为整数为整数,0p1).泊松分布随机数函数:泊松分布随机数函数:RANPOI(seed,lambda)(其中其中lambda0).离散分布随机数函数离散分布随机数函数:RANTBL(seed,p1,pi,pn)(其中其中0pi1(,),pi=1)第48页/共170页49CEIL(x)-取取自
45、变量自变量x的最小整数的最小整数.CEIL(4.5)=5.FLOOR(x)-取取自变量自变量x的最大整数的最大整数.Floor(4.5)=4.INT(x)-取取x的整数部分的整数部分.如如INT(4.5)=4.ABS(x)-求求x的绝对值的绝对值.MOD(x,y)-求求x除以除以y的余数的余数.SQRT(x)-求求x的平方根的平方根.DIGAMMA(x)-对自变量对自变量x计算计算GAMMA函数对函数对数的数的导数导数.GAMMA(x)-对自变量对自变量x计算完全计算完全GAMMA函数函数.其他其他函数函数第49页/共170页50LOG(x)-对自变量对自变量x求以求以e为底的自然对数为底的自
46、然对数.LOG2(x)-对自变量对自变量x求以求以2为底的对数为底的对数.LOG10(x)-对自变量对自变量x求以求以10为底的对数为底的对数.ERF(x)-计算误差函数计算误差函数.EXP(x)-计算计算e的的x次幂次幂.EXP(x)=ex.SIN(x),COS(x),TAN(x)-求求x的正弦,余弦和正切的正弦,余弦和正切.SINH(x),COSH(x),TANH(x)-求双曲正弦,余弦求双曲正弦,余弦和正切和正切UPCASE(s)-把字符串把字符串s转化为大写字母。转化为大写字母。LOWCASE(s)-把字符串把字符串s转化为小写字母。转化为小写字母。SUBSTR(s,p,n)-从字串从
47、字串s中第中第p个字符开始取个字符开始取n个个字符的子串连字符的子串连第50页/共170页51LAGn(x)返回该自变量返回该自变量x前前n条观测条观测(记录记录)中该中该变变量的值量的值.DIFn(x)得到该自变量得到该自变量x的值减去前的值减去前n条观测条观测(记记录录)中该变量的值中该变量的值.例如数据集例如数据集AIR:date airdate airJAN49 112 JAN49 112 FEB49 118 FEB49 118 MAR49 132 MAR49 132 DEC49 118DEC49 118 JAN50 115 JAN50 115 FEB50 126 FEB50 126
48、MAR50 141 MAR50 141 .第51页/共170页52(1)(1)计算每月乘客数较上月增加的百分数计算每月乘客数较上月增加的百分数;(2)(2)计算逐月乘客数较去年同期增加的百分数计算逐月乘客数较去年同期增加的百分数 Data lagdif;set dst.air_2;pct1=dif(air)/lag(air);pct2=dif12(air)/lag12(air);run;Proc print data=Lagdif;id date;var air pct1 pct2;Run;(sasLan14.sas)第52页/共170页53第53页/共170页54SASSAS日期常数和函数日
49、期常数和函数日期时间直接作为数字型常数:日期时间直接作为数字型常数:ddMMMyyD(例如例如:12JAN96d)日期操的函数:日期操的函数:DATE()取今天的日期作为取今天的日期作为SAS日期值日期值,TODAY()-取当日的日期作为取当日的日期作为SAS日期值日期值,DATETIME()-取当日的日期和时间作为取当日的日期和时间作为SAS日期时间值日期时间值,TIME()-取今天的时间作为取今天的时间作为SAS时间值时间值,HOUR(time|datetime)由由SAS的时间或日期时间得到小时,的时间或日期时间得到小时,MINUTE(time|datetime)-由由SAS的时间或日期
50、时间得到分钟的时间或日期时间得到分钟,SECOND(time|datetime)-由由SAS的时间或日期时间得到秒钟的时间或日期时间得到秒钟,第54页/共170页55YEAR(date)-由由SAS日期日期date得到年得到年,MONTH(date)-由由SAS日期日期date得到月得到月,DAY(date)-由由SAS日期日期date得到日得到日,WEEKDAY(date)-由由SAS日期日期date得到星期几得到星期几(周日周日)QTR(date)-由由SAS日期日期date得到季度值得到季度值,MDY(month,day,year)-生成生成year年年month月月day日的日期值日的