《SAS编程入门》PPT课件_第1页
《SAS编程入门》PPT课件_第2页
《SAS编程入门》PPT课件_第3页
《SAS编程入门》PPT课件_第4页
《SAS编程入门》PPT课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

.,1,第2章SAS编程入门,.,2,学习目标,掌握SAS语言构成,学会运用SAS语言进行编程;掌握DATA数据步以及通过DATA步建立数据集的方法;了解各种PROC过程步的作用;熟悉各种SAS函数并逐渐学会其在SAS程序中的作用;掌握数据集的各种编辑操作方法(包括建立与保存、导入和导出、连接等);掌握一些常用的SAS语句并在SAS程序中熟练运用。,.,3,SAS语言构成,SAS提供了一种完善的编程语言。类似于计算机的高级语言,SAS用户只需要熟悉其命令、语句及简单的语法规则就可以做数据管理和分析处理工作。因此,掌握SAS编程技术是学习SAS的关键环节。在SAS中,把大部分常用的复杂数据计算的算法作为标准过程调用,用户仅需要指出过程名及其必要的参数。这一特点使得SAS编程十分简单。,.,4,SAS语句,一个SAS语句是由SAS关键词,SAS名字,特殊字符串,并以分号(;)结尾,它要求SAS系统执行一种操作或给SAS系统提供信息。如:Datagrade;Doi1ton;InputXY$10.;,.,5,SAS语句,SAS关键词:许多SAS语句都是以关键词开始并用它识别语句的类型,如DATA,INPUT,PROC和INFILE都被称为关键词。SAS名字:SAS语句中出现名字地方很多,如变量名、数据集名、格式名、过程名,及作为文件名和库标记的特殊名字。SAS名字最多可由8个英文字母构成,第一个字符不能是数字,空格和特殊字符$、和#也不能用于SAS的名字中。另外,保留了一些特殊的变量名并赋于特定的意义,这些变量都是以下划线开头和结尾,如表示数据步已执行过的次数。,.,6,SAS表达式,表达式是由一系列算符和运算对象形成的一个指令,它被执行后产生一个目标值。运算对象是变量和常数。表达式分为简单表达式(仅用一个算符)和复合表达式(使用多个算符),如:9;Age1001;LOG(X);EXP(a);a*b/100等。SAS常数用来表示固定的值,它或者是一个数字,或者是固定的值,或者是字符串,或者是其它特殊记号。SAS有五种类型的常数:数值常数:就是出现在SAS语句里的数字,完全像通常的数值一样书写,可以包括小数点和负号等;字符常数:是由单引号括起来的1到200个字符组成的;日期和时间数值常数;十六进制数值常数;十六进制字符常数。,.,7,SAS算符,比较算符:建立两个量之间的一种关系,并要求SAS确定这种关系是成立不成立。如果它成立,输出的运算结果是1;如果不成立,运算结果为0算术算符:就是数学运算中常用的五种运算符号逻辑算符:通常用来连接一系列比较式,.,8,SAS算符,运算次序:下面给出复杂表达式运算次序的准则。在括号里的表达式先计算。较高优先级的运算先被执行。对于相同优先级的算符,左边的运算先做。,.,9,SAS程序,由一系列SAS语句组成一个SAS程序。SAS程序中的语句可分为两类步骤:DATA步和PROC步。这两个步骤是所有SAS程序的模块。通常用DATA步产生SAS数据集,而用PROC步对SAS数据集内的数据进行分析处理并输出结果。PROC步要求SAS从过程中调出一个过程并执行这个过程,通常用SAS数据集作为输入。,.,10,SAS程序示例,datawhb.phones;inputname$phoneroomheight;cards;rebeccah4241121.5648carol4501125.6235louise4091101.2568gina4741101.3652mimi4101061.6542alice4111061.6985brenda4141061.3698brenda4141051.8975david4381411.6547betty4641411.5647holly4661401.5624;procprintdata=phones;run;,.,11,DATA步入门,SAS的数据步以DATA语句开始,用于创建和处理数据集。DATA语句以关键字“data”开始,格式如下:data数据集名;例如:dataa.case;将创建在库a中名为case的SAS数据集,语句执行后你可在与库a对应的目录下看到刚刚建立的数据集文件case。DATA语句所指定的数据集,一般都是以“库名.数据集名”的格式出现的,也可以单独的“数据集名”出现,此时的数据集系统默认为是临时库中的数据集,退出系统后将会被删除。,.,12,DATA步入门,直接输入方式:就是用SAS语句输入数据来产生SAS数据集的过程,一般形式为:DATA语句;Input语句;(用于DATA步的其它语句)Cards;数据行;,.,13,DATA步入门,从外部文件读入数据集。数据若已经包含在某个外部文件(文本文件或数据文件)中,可用此方法输入数据到数据集文件中。在以上介绍的data语句后,写入以下语句:infile外部文件的所在位置及名称选项;input变量名1变量名2变量名n;infile语句用于从外部文件读入数据,必须出现在input语句之前。它的功能是指定一个包含原始数据的外部文件。,.,14,DATA步入门,从已建立的SAS数据集中产生新的数据集。如果用户从已经建立的SAS数据集中抽取部份变量或数据来形成新的SAS数据子集,可在DATA步中通过SET命令来完成。,.,15,DATA步语句及其类型,文件操作语句运行语句控制语句信息语句,.,16,文件操作语句,用于输入数据集或者从这个DATA步输出,.,17,运行语句,使得用户可以创建或修改变量,或者选择一部分观测来创建数据集,.,18,控制语句,对一些确定的观测跳过一些语句,或者改变被执行语句的次序,实现从程序的一部分转移控制到另一部分,.,19,信息语句,给出关于数据集或正被创建的数据集的附加信息,不是执行语句,可以出现在DATA步的任何地方,并且有同样的功能,.,20,PROC过程步,PROC步总是由PROC语句开始,然后给出运行的SAS过程名字。例如,运行SORT过程,则使用语句“procsort;”来开始这个PROC步。通常PROC步只需要包括一个PROC语句给出运行的过程名字和一个RUN语句。,.,21,SAS过程名及其功用,MEANS计算基本统计量CHART制作次数分布表次数分布图UNIVARIATEPLOT正态分布检验PRINT数据输出SORT数据排序Tabulate制作表格ANOVA方差分析GLM协方差分析CORR相关系数的计算REG直线回归PRINCOMP主成分分析,.,22,SAS常用函数及其应用,SAS函数是一个子程序,它由0个或几个自变量返回一个结果值。每个SAS函数都有一个关键名字。为了引用函数,要写出它的名字,然后写出一个自变量或几个自变量,它们用括号括起来,这个函数对这些自变量执行某种运算,.,23,SAS常用函数及其应用,SAS函数分为十七种类型,它们是算术函数、数组函数、截取函数、数学函数、三角函数、双曲函数、概率函数、分位数函数、非中心函数、样本统计函数、随机数函数、财政金融函数、逐位逻辑操作函数、数字函数、字符函数、日期和时间函数、州和邮政编码换算函数和特殊函数。SAS系统提供的SAS函数,对用户编写SAS程序带来极大的方面,为统计分析计算提供更大的方面。,.,24,SAS数据集,SAS数据集是关系型结构,分为两个部份:描述部份和数据部份描述部份包含了一些关于数据属性的信息即变量名称、类型及次序等信息;数据部份的结构完全等同于我们一般所理解的数据表,SAS数据值被安排在一个矩阵式的表状结构中,由字段和记录所构成,字段就是统计学中研究的变量,而记录就是每个研究对象的观测。,.,25,SAS数据集,SAS数据集又包含在SAS数据库的文件集中。SAS数据集是最常用的一种SAS文件类型,SAS数据库还可以包含其它类型的SAS文件SAS中数据库分为永久性和临时性两种。存在于永久库中的数据集是永久存在的(只要你不去删除它),临时库中的数据集则在你退出SAS后自动被删除。在Windows操作系统,SAS数据库以路径为基础的组织方式。为了使用SAS数据库,需要为每个SAS数据库指定一个库标记来识别。这一标记又称库逻辑名,是某个文件所在路径的别名。临时数据库的库标记为WORK,在SAS启动后自动生成,结束SAS后,库中的所有文件都被删除。,.,26,临时SAS数据集的建立,当启动SAS后,系统自动建立一个临时数据存储区,用来临时存储运行SAS时建立或调用的SAS数据集,临时数据库的库标记为WORK,在SAS启动后自动生成,结束SAS后,库中的所有文件都被删除。临时数据库的库标记不需要标注,即SAS程序中数据集work.abc与abc的表示含义完全相同,.,27,永久型SAS数据集的建立和保存,SAS启动后自动生成临时数据库的库标记,因而不需要专门进行命名,但当退出系统后临时数据库中的数据集会被自动清除。为了能反复多次使用同一数据集,需建立永久型SAS数据集。实际上,建立永久型SAS数据集,就是将SAS数据集储存在数据库逻辑名对应的路径目录下。,.,28,数据集的导入,除了通过数据步创建数据集的方法,SAS还提供了一些其他的方式可以用来读入其他格式的数据文件。SAS可以利用【FILE】菜单上的【ImportData】命令将其他格式的数据文件导入SAS系统,创建SAS自己的数据集。可以导入的数据文件格式有:dBase数据库,EXCEL工作表,LOTUS的数据库,纯文本的数据文件等。导入的操作完全是对话式的,界面友好,简便实用。以下简单叙述导入的步骤,.,29,数据集的导出,除了导入其它格式的数据文件,SAS系统也可以导出SAS数据集为其它格式的数据文件。SAS可以利用【FILE】菜单上的【ExportData】命令将SAS数据集导出SAS系统,转换为其它格式的数据文件。同样地,可以导出的数据文件格式有:dBase数据库,EXCEL工作表,LOTUS的数据库,纯文本的数据文件等。数据的导出和导入完全是相反的两个过程,同样地,导出数据的菜单操作也完全是对话式的,以下简单叙述导出的步骤,.,30,数据集的排序,将SAS数据集中的观测(记录)按一个或多个变量的数值大小进行排序,把结果存放在新的SAS数据集里,或者代替原始数据集,以便其它SAS过程通过使用BY语句可以直接调用该数据集。在对数据集进行合并或更新之前,也必须进行排序。SORT过程能完成对数据集的排序。,.,31,数据集的连接,数据集的连接就是把几个数据集纵向连接起来,生成逐个尾部追加的合并数据集,或按一个或多个变量排序的新数据集,此过程在DATA步中通过SET语句来完成。Set语句从一个或几个已存在的SAS数据集中读取观测值。每一次set语句被执行时,SAS系统读一个观测送到程序数据向量。如果没有其它规定,set语句从输入数据集中读所有变量和所有观测。,.,32,数据集的合并,数据的合并是将两个或多个SAS数据集中的观测横向合并成一个新数据集的一个观测。请注意数据集连接和合并的差别SAS系统合并观测的方式依赖于是否有BY语句伴随着MERGE语句,.,33,SAS语句,赋值语句输出语句条件语句循环语句WHERE语句DELETE语句累加语句BY语句UPDATE语句,.,34,本章小节,掌握SAS编程技术是学习SAS的关键环节。在SAS中,把大部分常用的复杂数据计算的算法作为标准过程调用,用户仅需要指出过程名及其必要的参数。这一特点使得SAS编程十分简单。数据步程序还可以对已建立了的数据集进行修改和产生输出。在利用SAS进行数据整理和分析之前,首先必须将数据直接输入到SAS数据集中或者把其它格式的数据文件转化为SAS数据集。,.,35,本章小节,介绍了通过DATA步建立数据集的方法(直接输入方式、从外部文件读入数据集和从已建立的SAS数据集中产生新的数据集),DATA步语句及其类型(包括文件操作语句、运行语句、控制语句和信息语句),DATA步是本节的重点,也是本章的重点。通过DATA步建立数据集。需要掌握不同的情况下用DATA步产生SAS数据集的不同方法,并掌握DATA步的SAS编程方法,掌握产生SAS数据集的DATA步程序。,.,36,本章小节,SAS系统提供了十七种类型SAS函数,对用户编写SAS程序带来极大的方面,为统计分析计算提供更大的方面。SAS函数在许多数值计算及字符和数值数据处理方面为简化程序编写过程尤其有用。我们应了解各种函数的功用,掌握一些常见函数的应用,并在SAS程序中应用这些函数。,.,37,本章小节,在Windows操作系统,SAS数据库以路径为基础的组织方式。为了使用SAS数据库,需要为每个SAS数据库指定一个库标记来识别。这一标记又称库逻辑名,是某个文件所在路径的别名。SAS中数据库分为永久性和临时性两种。临时数据库的库标记为WORK,在SAS启动后自动生成,结束SAS后,库中的所有文件都被删除。,.,38,本章小节,在进行数据分析前,我们可以对SAS数据集进行预处理,包括数据集的排序、连接、合并、复制、拆分和转置,在本章对这些数据集的操作方法进行了详细的讲解。需要掌握这些数据集的操作方法,并学会自己编程,灵活运送。我们还可以在SAS数据集的整理过程中,使用各种SAS语句,以便于数据集的处理,包括赋值语句、输出语句、条件语句、循环语句、WHERE语句、DELETE语句、累加语句、BY语句和UPDATE语句等。应注意WHERE语句与IF语句的区别。应熟练掌握这些常用的SAS语句,有助于SAS数据集的操作处理。,.,39,.,40,第3章SAS宏编程,.,41,学习目标,掌握宏变量的定义以及引用;熟悉宏变量的特殊用法;掌握宏的定义;掌握宏的调用;,.,42,SAS宏功能,将一个变量,一段程序或者一个文本命名,供以后调用,是用于扩充和制做用户化SAS系统的工具;利用宏功能用户可以减少在完成一些共同任务时必须输入的文本量。当用户在某个SAS程序中使用宏功能时,这个宏功能产生所需要的SAS语句和命名,SAS系统的其余部份接受这些语句和命令。,.,43,SAS宏的主要功能,获取SAS的系统信息。SAS在启动时就创建了一些自动宏变量,用以存储当前SAS进程启动的日期,时间,版本号及其它信息,用户可以在任何情况下使用这些宏变量。有条件的执行数据步和过程步。例如每天提交一份生产情况的详细报告,每周五增加一份汇总报告。使用宏功能每天运行同一个程序就可以实现上述任务。开发交互式系统。使用SAS宏语言的%WINDOW语句及一些基本的编程语句可开发交互式用户界面。,.,44,SAS宏的主要功能,产生与数据无关的SAS程序,但可展示与数据相关的结果。宏功能可保持SAS程序的独立性和移植性。一段程序在多种情况下均可运行,得到期望的结果。在不同的SAS数据步和过程步之间传递数据。SAS宏变量可在SAS的任何地方被引用,具有全局性,所以成为不同过程间传递数据最方便的手段。重复执行SAS程序码。凡用到SAS宏语言的变量和语言成分,都以符号%或宏处理器执行宏STUDY,把宏里面的固定文本替代到TITLE语句中。TITLE语句变为:Title“DisplayofschoolStudentscore”;,.,56,宏的调用,SAS程序可以包括任意多个宏,且在一个程序中可以多次调用一个宏。对于简单文本的阐明,使用宏变量比定义一个宏更有效。然而,当任务比较复杂时,宏比宏变量更有优势。把宏变量和宏结合在一起,将给出一种用宏工具编程的强有力的方法。下面我们将介绍在宏中使用宏变量的多种方法。,.,57,宏参数,可以定义宏变量作为%macro语句的一部分,如:%macroprintClass(class);procprintdata=,.,58,宏参数,对参数分配的值只在这个宏执行过程中有效。因此第二次调用宏时,还是要给出参数的值。宏参数是局部宏变量的一个例子。而宏变量是从用户创建它们直到SAS作业或SAS会话结束都存在;故前面介绍的宏变量为全局宏变量。使用参数有以下几个优点:用户可以少写几个%LET语句;调用宏时不需要知道这些参数的名字,只需要提供这些值的类型;使用参数可以保证该变量在宏之外的程序部份不会被引用。,.,59,宏的循环结构,宏的循环语句有三种类型,分别是宏中DO循环语句的格式为:%do指标变量=始点%to终点(BY增量);文本或宏程序语句;%end;%do%while(表达式);/*先判断再执行*/文本;%end;%do%until(表达式);/*先执行再判断*/文本;%end;,.,60,宏的循环结构,以生成重复的文本段为例说明如何使用宏的循环结构。假定用户想生成一系列名字用于某个SAS语句。可以写一个宏来产生具有相同前缀的一系列名字。用示例说明宏CREATE用重复%D

温馨提示

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

评论

0/150

提交评论