资源预览内容
第1页 / 共169页
第2页 / 共169页
第3页 / 共169页
第4页 / 共169页
第5页 / 共169页
第6页 / 共169页
第7页 / 共169页
第8页 / 共169页
第9页 / 共169页
第10页 / 共169页
亲,该文档总共169页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Click to edit Master title styleClick to edit Master subtitle style第四章 SAS语言与数据管理功能掌握SAS数据步语言掌握SAS数据集的创建掌握SAS数据集的加工整理内容与要求第四章SAS语言1 1数据步入门2 2数据集整理4 4创建数据集3 3第四章 SAS语言是一种专用的数据处理、统计计算语言,但是它也包含一般的高级语言编程能力并扩充了许多数学、统计等方面的函数。下面我们先介绍一些SAS函数,然后结合SAS要完成的操作来介绍SAS语言,如用来进行一般编程计算的功能及其独特的数据处理功能。SAS数据步的数据输入、整理功能很强,以下只能介绍常用的功能。希望进行复杂的数据管理的读者可以参考BaseSAS的使用手册。第四章 SAS语言也是一种计算机语言,常称为非过程语言或第四代语言.过程语言一般是指:BASIC语言,C语言,Fortran语言等需要给出计算过程的语言.第一代至第四代语言是指:机器语言,汇编语言,高级语言(如Fortran语言等),非过程语言.第四章 同其他计算机语言一样,SAS语言也有它自己的语汇和句法-关键词和连结关键词与其他辅助信息的规则.用户使用SAS语言来生成数据集并规定对数据怎样做统计分析的问题.由由SASSAS语句组成的序列称为语句组成的序列称为SASSAS程序程序. .一个SAS语句是由SAS关键词、SAS名字、特殊字符和运算符组成的字符串,并以分号(;)结尾,它要求SAS系统执行一种操作或给SAS系统提供信息.第四章SAS语句 许多SAS语句都是以关键词开始并用它识别语句的类型.如DATA语句、PROC语句、INPUT语句等.SAS语句中可能出现的SAS名字种类很多,如变量名SAS数据集名、格式名、过程名、数组名、语句标号名、以及作为文件标记和库标记的特殊名字.SAS名字最多可由32(V6为8)个字符组成,第一个字符必须是字母(A,B,Z)或下划线(_),后面的字符可以是字母,数字(0,1,2,9)或下划线.每个SAS语句都用分号(;)结束,出现在SAS语句中的其他特殊字符和算符有圆括号(),美元符号(),小数点号(),等号(),冒号(:)和加号().第四章 SAS语句书写的格式较为灵活:语句可以在某一行的任何位置开始和结束;词间可任意加入空格和换行;一个语句可以写成几行,只要语句中的关键词不被断开就可以;多个语句可写在一行; SAS语句用大写字母、小写字母或两者混合书写均可以.但字符型数据值要区分大小写,比如Beijing和BEIJING被认为是不同的数据值. 第四章SAS程序 一序列SAS语句组成一个SAS程序.SAS程序中的语句分别属于两类步骤:DATA步和PROC步.这两类步骤是所有SAS程序的组成部分.每一步是一段相对完整的可以单独运行的程序。通常用DATA步产生SAS数据集,而用PROC步对SAS数据集中的数据进行分析处理并输出结果.一个SAS程序可由一个DATA步或一个PROC步组成;或者由DATA步和PROC步两部分组成;也可由多个DATA步和PROC步组成.第四章用户提交的SAS程序由许多程序步构成。数据步DATA步过程步PROC步原始数据SAS表SAS表报告数据步常用于创建数据集过程步常用于处理数据集(生成报表、图形和实现数据分析功能)SAS编程基本概念第四章 数据步以DATA语句开始,RUN语句结尾,用于创建和加工SAS数据集.在数据步中使用的SAS语句包括:文件操作语句-要求SAS创建一个或几个新的SAS数据集的语句,如DATA、INPUT、CARDS、INFILE、SET、MERGE等语句;运行语句-对创建数据集所必须进行的运算语句,如赋值、累加、Where等语句;SAS数据步(DATA步)第四章 控制语句实现从程序的一部分转移到另一部分的语句,如DO、IF、GOTO、SELECT、LINK等语句;信息语句给出关于数据集或正被生成的数据集的附加信息,如ARRAY、INFORMAT、FORMAT、LENGHT、ATTRIB、KEEP、DROP等语句.第四章常用的数据步文件管理语句第四章DATA语句格式DATA data-set-name-1 .data-set-name-n ; DATA view-name data-set-name-1 . . .data-set-name-n / VIEW=view-name (); 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; 第四章选项说明 这里只给出常用选项的说明,其它选项说明可以从SAS系统帮助中查找。 第四章例4.1规定要创建的SAS数据集。dataa;/*创建临时数据集a*/datafdata.capital;/*创建永久数据集fdata.capital*/datadata1data2;/*创建两个临时数据集data1和data2*/data_null_;/*特殊名,不创建SAS数据集,用于输出*/data;/*系统自动规定数据集名,data1,datan*/例4.2数据集选项举例。datanew(drop=var1);/*去掉数据集new中变量var1*/datanew(keep=_numeric_);/*保留数据集new中所有数值变量*/datanew(label=股票价格);/*规定数据集new标签名为”股票价格”*/datanew(rename=(var1=uvar2=v);/*将变量var1和var2更名为u和v*/databook(index=(author);/*数据集book对变量author建立索引*/第四章例4.3创建DATA步数据视窗文件。 dataclass/view=class;setfdata.class;run;例4.4存贮被编辑程序。data.class1(keep=nameageweight)/pgm=.cl;/*cl是被存贮的SAS程序*/setfdata.class;run;例4.5用DATA步执行一个被存贮的编辑程序。datapgm=fdata.cl;run;第四章特殊数据集名 _data_ (省略数据集名)data _data_; /*等价于语句data;*/系统自动为数据集赋名:data1, data2, datan.第四章_null_ 一般和PUT语句一起用。由PUT输出结果,只输出到LOG窗口,不会产生SAS数据集。例4.6 不产生数据集。data _null_; x=exp(5);y=log(10);put x= y=;run;第四章_last_last_是SAS系统的一个自动变量,取值为最新创建的SAS数据集名。例4.7 查看最新创建的SAS数据集。data a;set _last_;run;第四章 过程步以PROC语句开始,用于分析处理SAS数据集中的数据。 从过程库中调出一个过程并执行这个过程,以SAS数据集作为输入数据,PROC语句开始的一组或几组SAS语句完成一个SAS过程,以另一个“PROC”、“ DATA”或“ RUN”语句结束. 指定PROC步调用的SAS程序,选择项指明分析的数据集,分析结果的输出要求,以及分析过程中需要用到的一些参数.SAS过程步(PROC步) 第四章 若干数据步和几个过程步构成一个SAS程.SAS程序一般在PGM窗口采用全屏幕编辑方式输入.当程序输入完毕,检查修改后就可以提交给SAS系统执行.在程序执行的过程中,日志(LOG)窗口显示程序执行中记录的信息;它包括执行哪个语句;生成的数据集中变量个数及观测个数是多少;每一步的时间及出错信息等等.SAS过程产生的输出显示在OUTPUT窗口.第四章数据步程序中的计算由表达式来完成。表达式把运算对象(常数,变量,函数调用等)用一系列算符(如特殊的运算符、括号等)连接起来,被执行后得到一个目标值.表达式分为简单表达式(仅用一个算符)和复合的表达式(使用多个算符).在数据步为了对变量作变换,建立新变量、条件处理、计算新数值及指定新数值时使用表达式来编写程序语句.第四章 SAS常量主要有数值型、字符型两种,并且还提供了用于表达日期、时间的数据类型。例如数值型:12,7.5,2.5E10字符型:Beijing,LiMing,李明日期型:13JUL1998d时间型:14:20t日期时间型:13JUL1998:14:20:32dt因为SAS是一种数据处理语言,而实际数据中经常会遇到缺失值,比如没有观测到数值,被访问人不肯回答等等。SAS中用一个单独的小数点(.)来表示缺失值常量。(sasLan11.sas)SAS表达式第四章 SAS变量的基本类型有两种:数值型和字符型。日期、时间等变量存为数值型。SAS的数值型变量可以存储任意整数、定点实数、浮点实数,一般不关心其区别。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个字符,但是如果在INPUT语句中输入字符型变量时指定了长度则不受此限制。 可以用LENGTH语句直接指定变量长度。如LENGTHname$20;第四章 SAS运算符包括算术、比较、逻辑等运算符。算术运算符为,*,/,*,运算优先级按通常的优先规则。比较运算符用于比较常量、变量的值大小、相等,包括=1000)AND(salary2000)表示工资收入在10002000之间(不含2000);(age=1000)AND(salary2000)表示工资收入不在10002000之间。第四章 其它的运算符还有用于连接两个字符串的|(两个连续的|号),用于取两个运算值中较大一个的(比如35结果为5),用于取两个运算值中较小一个的5结果为3)。比较运算符得到“真”(赋值)或“假”(赋值)的结果,主要用于需要条件的分支、循环等语句中。若比较表达式的值为或缺失值,称为表达式不成立(“假”);否则表达式成立(“真”).第四章 在SAS系统9.1版本,SAS函数分为二十五种类型,它们是算术函数、截取函数、数学函数、概率和密度函数、分位数函数、非中心函数、样本统计函数、随机数函数、财政金融函数、字符函数、日期和时间函数、洲和Zip码(邮政编码)换算函数和特殊函数等等(在SAS系统6.12版本,SAS函数分为十七种类型共有178个,SAS系统8.1版本,SAS函数分为二十二种类型共有319个函数).SAS函数第四章 SAS系统提供的SAS函数比一般高级语言的标准函数多得多.如此丰富的SAS函数,对用户编写SAS程序带来极大的方便,尤其是概率函数、分位数函数、非中心函数、样本统计函数、随机数函数,这几类函数是一般高级计算机语言所没有的,它们为统计分析计算提供更大的方便。下面我们分类介绍一些SAS函数,主要介绍用于统计计算的SAS函数.第四章 第四章测试函数功能的一个简单的程序:data _null_; y=sqrt(3); put y= ;run;程序提交后将在LOG窗口给出SQRT(3)的结果为Y=1.7320508076。第四章 SAS语言作为一种统计计算语言,它提供了多种概率分布的有关函数。其中分布密度、概率、累积分布函数等可以通过几种统一的格式调用,格式为 分布函数值=CDF(分布,x);密度值=PDF(分布,x);概率值=PMF(分布,x);对数密度值=LOGPDF(分布,x);对数概率值=LOGPMF(分布,x);第四章CDF计算由分布指定的某种分布的分布函数,PDF计算分布密度函数值,PMF计算离散分布的分布概率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对数.例如,PDF(NORMAL,1.96)计算标准正态分布在1.96处的密度值(0.05844);CDF(NORMAL,1.96)计算标准正态分布在1.96处的分
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号