SAS培训班讲义课件

上传人:工**** 文档编号:569179063 上传时间:2024-07-28 格式:PPT 页数:151 大小:508.50KB
返回 下载 相关 举报
SAS培训班讲义课件_第1页
第1页 / 共151页
SAS培训班讲义课件_第2页
第2页 / 共151页
SAS培训班讲义课件_第3页
第3页 / 共151页
SAS培训班讲义课件_第4页
第4页 / 共151页
SAS培训班讲义课件_第5页
第5页 / 共151页
点击查看更多>>
资源描述

《SAS培训班讲义课件》由会员分享,可在线阅读,更多相关《SAS培训班讲义课件(151页珍藏版)》请在金锄头文库上搜索。

1、n课程名称:课程名称: SAS培训班讲义培训班讲义n讲师:讲师:n网址:网址:1SAS培训班讲义第一部分 课程介绍n培训内容:使学员掌握SAS的界面使用和基本编程使用,为学习和应用SAS的其他专业功能奠定坚实的基础。n使用SAS进行数据分析和处理2SAS培训班讲义推荐教材n1 SAS系统的帮助以及在线文档,都是学习SAS的很好的工具。 n2 SAS系统Base SAS 软件使用手册 高惠璇等编译, 中国统计出版社1997 n3.SAS 系统SAS/STAT软件使用手册高惠璇等编译, 中国统计出版社1997 n4. 实用统计方法与SAS系统高惠璇 北京大学出版社 20013SAS培训班讲义数据类

2、型na. 横截面数据集(cross-sectional data set):即给定时点对个人、家庭、企业、国家或一系列其他单位采集的样本所构成的数据集(应该忽略细小的时间差别)n名词术语1、数据集:数据的集合,由样本(行)和变量(列)组成4SAS培训班讲义数据类型nb.时间序列数据集(time series data set):是由一个或几个变量在不同时间的观测值所构成的。nc.混合横截面数据集(pooled cross section data set):有些数据既有横截面数据的特点又有时间序列的特点,但每一时点的样本不同。5SAS培训班讲义数据类型nd.综列数据集(panel data s

3、et):由横截面数据集中每个样本的一个时间序列组成。(定点长期调查)n其他专门数据类型: 1、离散数据(discrete data):通常在考察个人、家庭或企业的决策行为时,通过问卷调查获得,由此发展出“离散选择模型”。定量数据与定性数据6SAS培训班讲义数据集类型2、持续数据(survival data):用于考察变量从开始到结束或调查终止前所经过的时间长度,如失业持续时间、罢工持续时间,股市牛熊市持续时间 7SAS培训班讲义使用SAS进行数据处理的应用实例n商场应用:在美国大型超市WalMart (沃尔玛)发生的实例:在星期四,年轻夫妇为准备周末通常同时购买尿布和啤酒,因此把尿布和啤酒放在

4、一起会提高效率。 8SAS培训班讲义数据处理的应用n天文学(skicat系统处理天文数据发现类星体)n生物学(人类基因组计划处理人体数据研究基因)n市场营销(货篮分析)n公司财务的处理(记流水帐)n经济论文写作中的实证部分9SAS培训班讲义数据处理的应用n“今天,我们不得不生存在全球化和信息革命影响下的世界,我们只有两个选择:适应它,或者被它抛弃。”n英特尔公司主席安德鲁格鲁夫n1995年尼葛洛庞帝的数字化生存一书指明了即将到来的数字时代,而在未来一长段时间,数字化生存仍将是人类的主要生存方式,在经济学领域也不外如是。10SAS培训班讲义第二部分 SAS系统入门SAS系统概况n大型集成、跨平台

5、软件系统 n完备的数据访问(Access)、管理(manage)、分析(analyze)和呈现(present)及应用开发(develop)的功能 n在数据处理、统计分析和IT应用领域,SAS系统已经成为国际上的标准软件系统。11SAS培训班讲义SAS的发展历程一n1966年由美国北卡罗来纳州(NorthCarolina)州立大学开始研制 n1976年成立美国SAS软件研究所,并开始对SAS系统进行维护、开发、销售和培训等工作 n1985年推出了SAS/PC(6.02)版本 12SAS培训班讲义SAS发展历程二n1989年推出SAS/PC(6.04)版本 n1997年下半年推出适用于多种操作系

6、统的6.12版本 n2000年2月又正式推出SAS系统8版本 n2002年推出全新的SAS9版本13SAS培训班讲义SAS在中国的发展nSAS公司于1989年在北京成立了办事处 n1997年,SAS软件研究所正式宣布成立大中国区 n1999年3月在国内设立独资公司赛仕软件(上海)有限公司。14SAS培训班讲义SAS的成绩n全球十大独立软件开发商之一 n世界六大洲近50个国家或地区设有分公司及分支机构 n应用遍及120多个国家和地区(包括中国)的31000多个机构中 n全球100家最大公司中的90多家都在应用SAS系统。15SAS培训班讲义SAS模块介绍nBase SAS: 1、数据管理功能数据

7、管理功能2、基础统计计算功能、基础统计计算功能 3、报表生成和图形显示功能报表生成和图形显示功能 16SAS培训班讲义nSAS/STAT 统计分析nSAS/INSIGHT 数据探索nSAS/ASSIST 面向任务的易学易用模块nSAS/ETS 时间序列处理nSAS/OR 运筹学和工程管理nSAS/QC 质量控制nSAS/IML 矩阵运算nSAS/GRAPH 绘图nSAS/AF 面向对象编程(OOP)的应用开发工具,拓展SAS的功能17SAS培训班讲义nSAS/EIS 面向对象编程的开发工具,用于开发企业信息系统nSAS/ACCESS 数据访问 nSAS/TOOLKIT 扩充工具,把用其他软件编

8、写的程序转化成SAS的组成部分nSAS/Warehouse Administrator 数据仓库管理nSAS/Enterprise Miner 数据挖掘nSAS/Text Miner 文本挖掘nSAS/SHARE 数据库的并发式控制专门软件nSAS/CONNECT 使各平台SAS系统进行分布式处理,从而有效利用各平台机器资源18SAS培训班讲义nSAS/GIS 地理信息系统与空间数据的显示分析nSAS/SPECTRAVIEW 数据可视化分析工具,用几何成像的方式来分析多维数据nSAS/Intrnet 提供构建基于SAS的企业内部网络支持nSAS/FSP 快速数据处理的交互式菜单系统nSAS/C

9、ALC 功能完善的多维电子表格软件nSAS/ENGLISH 提供利用自然英语获取信息的能力19SAS培训班讲义nSAS/SECURE 网络传输加密nSAS/OLAP SERVER 多维数据存储及汇总结果呈现nSAS/GENETICS: SAS公司的第一个科学研究应用软件,应用于遗传学,有5个分析过程nSAS/High-Performance Forecasting:提供快速高效的预测结果nSAS/C, SAS/C+ 针对IBM大型机的开发工具nSAS/LAB 向导式的数据分析软件,特别针对day-to-day类型数据n 20SAS培训班讲义SAS工作空间n程序窗口(PROGRAM EDITOR

10、)n运行记录窗口(LOG)n输出窗口(OUTPUT)21SAS培训班讲义SAS程序第一例nSAS/HelloWorld.sasn注:以后程序文件省略后缀,直接简记为文件名称,如此例简记为HelloWorld,需要说明文件类型时才标明后缀。22SAS培训班讲义SAS/Insight模块 1、界面介绍2、Fill values 功能3、Extract 功能4、Edit/windows/tool菜单使数据探索色彩缤纷(注意选项设置)5、打开分布、拟合、多元等的窗口之后主菜单Tables、Graphs、Curves菜单才被开放。Fly,insurance数据集示例23SAS培训班讲义Insight模块

11、n其他功能:1、分布(输出大多数常用的统计量)2、拟合(回归分析)3、多元(方差分析)24SAS培训班讲义SAS程序的书写格式n1、SAS程序由语句语句组成,语句用分号结束。n2、 SAS语句可以从某一行的任意位置开始; n3、几个SAS语句可以写在同一行上,但每句要使用分号25SAS培训班讲义SAS程序的书写格式n4、一个语句也可以写成几行,只要语句中的单词不被断开就可以。在一个语句中各个单词之间至少要有一个空格。n5、SAS程序中一般不区分大小写(字符串中要区分大小写)n6、用/*注释的内容*/来对程序进行注释26SAS培训班讲义SAS程序的结构nSAS数据集样本(观测、记录)、变量(字段

12、、域)、表(数据集)、 数据库n许多SAS语句都是以关键词开始并用它识别语句的类型(如data、input、proc)n绝大部分的SAS语句都可分为两步:DATA步和PROC步27SAS培训班讲义SAS的变量及格式n变量属性(名称、类型、长度、输入格式、输出格式、标签)类型:数字型、字符串型输入格式:数据被SAS读取的格式输出格式:数据呈现给人们的格式28SAS培训班讲义SAS程序第二例nSAS/orange.sas输入数据-形成数据集-排序-打印显示29SAS培训班讲义SAS文件及命名n1、SAS数据集文件(后缀为sas7bdat)n2、SAS程序文件(后缀为sas)n3、SAS日志文件(后

13、缀为log)n4、SAS输出文件(后缀为list)30SAS培训班讲义SAS文件及命名n临时数据集和永久数据集SAS文件的2级命名方式:目录.文件名work目录和其他目录使用Libname语句创建永久数据集,libname 自建目录名 目录地址;libname例31SAS培训班讲义建立SAS数据集的5种方法1、data步自己输入数据建立。Orange例2、data步利用set 语句建立。Set例3、从外部调入。Infile例4、利用“导入数据”功能建立。Id.xls例、data.txt例5、利用EFI(external )功能导入。Column.dat例、tests.dat例、comma.da

14、t例32SAS培训班讲义Analyst分析家模块n1、界面介绍n2、浏览与编辑模式n3、生成示例数据与抽样n4、程序清单n5、假设检验33SAS培训班讲义SAS运算符(operator例)n算术运算符:* / *n比较算符:=(EQ) =(NE) (GT) =(GE) (最小值) (最大值) |(!)(连接)34SAS培训班讲义字符的比较(operator_char例)n1、按机器使用的字符排列次序(ASC或Unicode)从左到右被比较。n2、两个不等长的字符串被比较时,系统在较短的字符串后自动添上空格n3、在比较符后加冒号,则只比较首字母35SAS培训班讲义运算次序一n在括弧里的表达式先计

15、算n第一级:* ()前缀 n第二级:* /n第三级:n第四级:|n第五级:其余比较算符n第六级:n第七级:36SAS培训班讲义运算次序二n对于相同优先级的算符,左边的运算先做。但有两个例外:n1.对最高优先级,右边的运算先做n2.当两个比较算符围着一个量时,这个表达式看成是有一个and 出现一样被计算。如:12age 20,等价于:12age & age20 37SAS培训班讲义SAS函数一(部分)n数学函数:abs()、max ()、min ()、mod (x, y)、sign (x)、sqrt (x)、 sum ()、 mean ()、exp (x) 、log (x)、log10 (x)、

16、log2(x) 、sin (x)、arsin (x)n截取函数:ceil (x)、floor (x)、int (x)、round (x,n)n字符函数:index (S, S1)、substr (S , p, n)、scan(S2,n)、upcase(S)、compress(S,S1)38SAS培训班讲义SAS函数二(部分)nSAS系统存贮日期值为1960年1月1日到指定日期之间的天数nSAS存贮时间值为从午夜开始到指定时间的秒数n日期时间值存贮为1960年1月1日午夜到指定日期时间之间的秒数n日期时间函数:weekday ( )、day()、month()、qtr()、year()39SAS

17、培训班讲义SAS函数三(部分)n概率统计函数:probnorm (x)n (of X1-Xn)、nmiss (of X1-Xn),var (of x1-xn)、std (of x1-xn)n随机数函数:rannor (seed)、ranuni (seed)nFunctions例40SAS培训班讲义DATA步n文件操作语句n运行语句n控制语句n信息语句41SAS培训班讲义DATA步流程nDATA语句标志了数据步开始,并指定了数据步结束时要生成的数据集名字。n每次读入一行数据,读入后执行数据步中的其它语句,循环数据步读取整个数据。n_N_变量表示DATA步已经执行的次数n_error_变量值为1时

18、表示程序出错nFlow例42SAS培训班讲义DATA步流程(Flow1例)(*)n读外部数据时,数据步迭代(即每一次)的开始把变量的值置为缺失值,有几种情况例外:1、retain语句提到的变量2、sum语句中创建的变量3、数组_temporary_中的数据元4、file和infile语句选项中创建的变量5、自动变量n读sas数据集时,只在第一次迭代时把变量值置为缺失,以后变量保留其值直至新值写入43SAS培训班讲义文件操作语句DATA语句nDATA语句的选项DROP选项(不列出某些变量)KEEP选项(列出某些变量)LABEL选项(给数据集加标签)RENAME选项(重命名变量)nData例44S

19、AS培训班讲义DATA语句n数据集名字:(data2例)1、data语句后无数据集名字,则自动生成 data1, data2等为数据集名字,相当于data _data_;2、data _null_;不产生实际的数据集,只是把内容暂存于内存,以供put语句等读取结果,可以节约计算机资源3、data _last_;以最近产生的数据集命名并取代其内容。45SAS培训班讲义Input语句n分组格式:input (g1-g5) (3*7.2 , 2*5.2); input (a b) ( $5.)input (a b) ($ , 5.)n无需分行而按变量连贯读数据n固定该数据行;用于需要多个input语

20、句同时读取一行数据。input例,Input例46SAS培训班讲义Input语句n利用n +n #n 进行指针控制input1例47SAS培训班讲义Input语句n几个特殊符号的用法(: & ): 读值时第一次遇到分隔符、或是数据行末尾、或是读满列数而结束 字符型输入值可以嵌有一个或几个空格 字符型输入值保留引号(与infile 语句中选项dsd一起使用才有效)nInput2例48SAS培训班讲义Cards语句nCards语句与datalines语句可以通用n如果输入数据中含有分号,可用cards4语句或datalines4语句,同时,数据结尾用4个分号表示数据输入结束nCards4例49SA

21、S培训班讲义Put 语句nPut语句负责在log窗口输出一些结果,选项可把输出转移到output窗口nPut _infile_ (输出最新的数据行到SAS log 窗口)nPut _all_ (输出所有变量的值)nPut _page_ (输出新页)nPut例、put1例50SAS培训班讲义File 语句n 把put语句产生的输出结果转移到output窗口nPut例51SAS培训班讲义By 语句n在DATA步中,SAS系统对每个BY组创建两个临时变量:First .variableLast .variable它们用来区别每个BY组的第一个和最后一个观测nBy例52SAS培训班讲义Set语句n使用

22、set语句复制数据集nPoint选项指明要读入的记录序号set 数据集 point=指针变量;可用于抽样,一般与output语句连用nNobs选项创建一个临时变量用来存储数据集的观测总数n见set例,point例53SAS培训班讲义Set语句nSet语句可以串接多个数据集,形式如下nData 数据集; set 数据集A 数据集B ; Run;nRename选项负责改名;in选项产生变量负责记录观测来自该数据集;n见set2例54SAS培训班讲义Merge语句n使用Merge语句并接多个数据集,形式如下nData 数据集;merge 数据集1 数据集2 ;by 变量;run;n见merge例55

23、SAS培训班讲义Update 语句nUpdate语句用一个升级数据集中的观测来修改一个主数据集。nUpdate语句一定要与BY语句一起使用,BY语句给出了合并观测时共同变量的名字n主数据集中的共同变量必须是单值的,即不能有两个或两个以上的观测其共同变量值相同nUpdate例56SAS培训班讲义Infile语句nDelimiter (DLM)选项:规定一个字符替代空格作为分隔符。nFirstobs选项 :不是从文件的第一个记录开始,而是从指定行开始读取记录nObs选项:规定用户想从输入文件中连续读取的最后一个记录号nIn)例、 In)例57SAS培训班讲义Infile语句nDSD选项:1、使最外

24、层引号括起的内容当成整个字符串输入,并去除最外层引号2、默认分隔符为逗号3、两个相邻的分隔符意味着前一个分隔符后的字段为缺失值nIn)例 (回顾input2例)58SAS培训班讲义Infile语句n当行末尾数据宽度少于规定宽度时Flowover: 默认选项,将下一条记录读入Missover:将变量置为缺失Truncover:将数据直接读入,不管宽度是否少于规定宽度Stopover:系统终止数据步执行,报告出错nMissover例59SAS培训班讲义Infile语句nLrecl=n选项:设定源数据文件行的物理长度,缺省为256,最大可设为32767nPad | Nopad选项:pad选项指当宽度

25、少于规定宽度时,在后面填充空格至Lrecl=n规定的行长度,缺省为nopadnMissover例60SAS培训班讲义运行(算)语句赋值语句和累加语句n赋值Variable = expression例:x=a + b;n累加 Variable + expression例:if x=5 then n+1;例:n+(-1)n累加语句中的变量必须是数值型变量,初始值为061SAS培训班讲义Delete和lostcard(*)语句nDelete语句告诉SAS系统停止处理当前的观测,并且返回到这个Data步的开头处理其他观测n当SAS系统遇到用几个记录表示一个观测的时候,数据中有丢失记录时,使用Lostc

26、ard语句来重新对准输入数据ndelete例,lostcard例62SAS培训班讲义Stop和abort语句n用stop语句来停止处理data步,正被处理的那个观测没有添加到SAS数据集中,stop语句不影响后面的任意data步或proc步的执行n用abort语句来中止SAS系统执行当前DATA步,return选项关闭SAS并返回操作系统。nStop与abort的区别在于abort语句置_error_变量为1nAbort例63SAS培训班讲义Where 语句n从已存在的SAS数据集选择子集,在把观测读入之前规定数据必须满足一个条件nWhere 语句与if语句相比在读取数据时更为高效,因其在移动

27、所有观测到子集之前先选择数据。nWhere语句丰富的表达式nwhere例64SAS培训班讲义Output语句nDATA步的每次迭代,后台自动使用output语句,但如果程序中主动加上output语句,即相当于取消自动output语句,变成在条件符合时输出。noutput例65SAS培训班讲义Output语句n用到output语句其他情况:output123例1.从一个输入的数据文件中,创建几个SAS数据集2.从输入的每个数据行中,创建二个或更多个观测3.把几个输入观测组合并成为一个观测n后面接名字表示输出到指定数据集,但名字必须也在DATA后出现66SAS培训班讲义Call语句n调用其他子程序

28、call routine (parameter-1 ) 如SAS提供一系列随机数子程序n发布操作系统命令call system (command) nCall例(*)、Call_system例67SAS培训班讲义控制语句Do语句(循环语句)nDO语句规定,在DO后面直到出现END语句之前的这些语句作为一个单元被执行。n简单DO语句,常用在if-then/else语句里n循环DO语句,用下标变量规定重复次数do i=1 to 10;do i=1 to exit;do i=2 to 8 by 2;nDo_simple例,do例,do_exit例68SAS培训班讲义Do while语句n当条件成立时

29、重复执行Do组里的语句Do while (expression);n括号里的表达式在Do组里的语句被执行前在循环的开头被计算。如果表达式是真的,Do组被执行nDo while例69SAS培训班讲义Do until语句n有条件地执行Do组里的语句,在循环的最后而不是在循环的开头计算表达式,如果表达式是真的,Do组就不再被执行。nDo组里的语句至少执行一次。nDo until例70SAS培训班讲义Select语句n允许SAS去执行几个语句或者语句组中的一个。n当一个特殊条件为真时,执行对应when语句,如果所有when条件均不成立,选择执行otherwise语句,用end结束nSelect(whe

30、n)例71SAS培训班讲义If语句n1.形如:IF expression THEN statement; ELSE statement;2.形如:IF variable例:if x then y=x;当变量x的值为0和缺失之外的任意值时表达式均为真nIf_else例、If_x例72SAS培训班讲义Return语句n告诉SAS系统在data步当前这个位置上停止执行语句并在继续执行之前返回到一个预定的位置(通常是data步开头)n当return语句使得SAS返回到data步开头时,SAS首先输出当前观测到新数据集中。n每个data步都有一个隐含的return语句作为最后一个可执行的语句nRetur

31、n例73SAS培训班讲义Go to语句n告诉SAS系统立即转到Go to语句所指示的那个语句,并从那个语句开始执行后面的语句。n形如:GO TO label;label规定语句标号来指示Go to的目标,它必须与go to语句在同一个data步nReturn选项规定返回而不执行下面语句nGo to例74SAS培训班讲义Link语句(*)n形如link label;n立即转到由label语句指示的位置,并从那里开始继续执行语句直到一个return语句被执行。n与goto语句的区别是:标签内的return语句让SAS立即返回到link语句后面的那个语句并从那里继续执行nLink例75SAS培训班讲

32、义Continue和leave语句nContinue语句使得某个do循环中当前这次循环过程停止进行,并继续进行下一次循环过程。nLeave语句停止当前整个do组循环或select组的处理过程,并用跟在do组或select组后面的下一个语句继续执行data步nContinue例,leave例76SAS培训班讲义循环的嵌套(*)Do(do)例、select(do)例77SAS培训班讲义怎样选择使用不同的控制语句nDO:多次执行同样的代码块nDO while:当while条件为真时,多次执行同样的代码块nDO until:多次执行同样的代码块,直到until条件为真,代码块总会执行一次nSELECT

33、:知道明确的离散选择项时使用nIF:希望从2个或多个可能的事件中完成一个,允许连续选择项78SAS培训班讲义怎样选择使用不同的控制语句n跳转代码(go to,link):需要暂停主代码,执行“标签”指明的其它代码n中止代码(return,continue,leave):负责某种形式的中止。79SAS培训班讲义信息语句数组(array)语句n当需要用同一种方法处理很多变量时,可以用数组语句定义这组变量为某个数组中的元素。n1.显示下标array语句:由一个数组名字,在数组中元素个数的说明,及元素列表组成。n2.隐含下标array语句:由一个数组名字、一个下标变量和列表名组成。80SAS培训班讲义

34、显示下标array语句n形如:ARRAY array-name subscript 例 array simple3 red green yellow; array x5,3 score1-score15; array c3等价于array c3 c1-c3array test3 t1 t2 t3 (90 80 70) 数组中的变量必须全是数值型或字符串型,array例81SAS培训班讲义显示下标array语句n规定数组中每一维的上下界:array x1:5,1:3 score1-score15;n*表示SAS系统通过数组中变量的个数来确定下标。可用dim(数组名)函数计算数组元素个数。n_te

35、mporary_建立一个临时数组元素列表narray(dim)例,array(temporary)例,array(prod)例82SAS培训班讲义隐含下标array语句n形如:ARRAY array-name array-elements n如果没有规定下标变量,SAS系统使用自动变量_i_作为下标变量,下标变量范围从1到这个数组元素的个数n如:array x x1-x5nArray(s)例83SAS培训班讲义Do over语句nDo over 语句对每个数组元素自动地执行Do组中的语句,它等价于 do i=1 to k;其中i是这个数组的下标变量,k是数组元素的个数。nDo over语句常用

36、在对隐含下标数组元素执行Do组里的语句nDo over例84SAS培训班讲义Informat语句nInformat语句把输入格式与变量联系起来,在data步,可以用informat语句对input语句中列出的变量规定缺省时的输入格式ninformat例85SAS培训班讲义Format语句n在data步把变量同输出格式联系起来n可以规定缺省选项,如:format default=8.2;nFormat(informat)例,format_=例,86SAS培训班讲义Drop和keep语句nDrop语句:删掉变量语句drop variable-listnKeep语句:保留变量语句keep varia

37、ble-listn虽然出现在drop和keep语句中的变量不包含在正被创建的SAS数据集中,但这些变量仍可以用在程序语句中nDrop和keep不能同时使用87SAS培训班讲义Retain语句n使用retain给变量赋予初值,并保留到读下一个观测retain month1-month5 1retain var1-var4 (1,2,3,4)当retain后无变量时,用input或赋值语句创建的所有变量的值,保留上次data步执行的值nRetain例、retain2例88SAS培训班讲义Attrib语句n在data步内允许用一个attrib语句来规定一个或几个变量的输出、输入格式,标签和长度,即规

38、定变量属性nAttrib x label=中国载人飞船 length=4 informat=8.5 format=8.2;nAttrib例89SAS培训班讲义Window语句n创建用户专用的窗口,可用来显示文字说明或接受输入的数据nWindow例90SAS培训班讲义上机练习1n编制程序:六个变量id d1-d5,数据节选如下:1 2 7 23 100 1000 2 3 33 54 56 10003 . 4 6 44 100n要求:如果相邻数据小于等于7,则置为缺失,数据结果应如下:n1 . . 23 100 10002 3 33 . . 10003 . . . 44 10091SAS培训班讲义

39、上机练习2(ex2例)n编制程序:3个变量d1-d3,数据节选如下:1 2 7 2 3 . 3 . 4n要求:如果发现缺失值 ,即用该列数据的平均值来代替,数据结果应如下:n1 2 7 2 3 5.5 3 2.5 4 92SAS培训班讲义Proc步的通用语句(Reg例)nProc 用在proc步的开头并规定用户使用的SAS过程名字及其他信息nVar规定用这个过程分析的一些变量nModel规定在模型中类似表示因变量(左)和自变量(右)的这样一些变量及其他信息nWeight规定一个变量,它的值是这些观测的相应权数93SAS培训班讲义Proc步及通用语句nFreq规定一个变量,其值表示频数nId规定

40、一个或几个变量,他们的值在打印输出中或由此过程产生的SAS数据集中用来识别观测nWhere在SAS把观测引入proc步之前,用来选择符合特殊条件的观测nClass在分析中指定一些变量为分类变量94SAS培训班讲义Proc步及通用语句nBy规定一些变量,SAS过程对输入数据集用by变量定义的几个数据组分别进行分析处理nOutput给出用该过程产生的输出数据集的信息nQuit结束交互式的过程n其他如Attrib属性语句、format输出格式语句、label标签语句等95SAS培训班讲义Transpose(转置过程)nTranspose过程完成对sas数据集的转置,即把观测变为变量,变量变为观测。n

41、Out选项规定输出数据集nPrefix选项规定转置后的变量名前缀nId选项使用其后规定的变量值作为输出数据集中被转置的变量名nTranspose例96SAS培训班讲义Means均值过程n计算数据集中数值变量的简单统计量nT选项:检验数据总体均值为0的假设时,t统计量的值nPrt选项:Prob |T| , 数据总体均值为0的概率是多少n默认生成的_type_和_freq_变量分别规定分组数(如果有)和频率nMeans例,weight例,freq例97SAS培训班讲义Means均值过程nMaxdec选项规定输出结果的小数部分最大位数n可以输出的统计量:N, Nmiss, mean, std, mi

42、n, max, range, sum, var, uss, css, cv(变异系数), stderr, t, prt, sumwgt, skewness(偏度), kurtosis(峰度), clm(置信限), lclm(置信下限), uclm(置信上限)98SAS培训班讲义Format过程(format_num,char,lowhigh例)n使用Format过程把输出格式同Data步、Proc步的变量联系起来。n输出格式一:SAS格式n输出格式二:Format定义的格式,形如value 格式名 变量值=自定义值;proc ;format 变量 格式名.;99SAS培训班讲义Format过程

43、n输出格式三:图示输出,只适用于数值型变量,形如picture 格式名 other格式化值;proc ;format 变量 格式名.;nFormat_picture例100SAS培训班讲义Plot过程n对数据集中任两个变量的n个观测值画出散点图,第一个变量表示y轴,第二个表示为x轴n两种情况:plot y*x=+;(规定一个字符作为作图字符)plot y*x=sex;(作图字符由变量的值给出)101SAS培训班讲义Plot过程nVref(Href)要求散布图在垂直(或水平)轴的一些规定值上画水平线(或垂直线)作为参照线n/overlap选项:在同一张图上作两个以上的散点图。如:plot y*x

44、 a*b /overlay;nPlot(函数)例102SAS培训班讲义Standard标准化过程n目的是使不同量纲的变量能互相比较nStandard过程按给定的均值和标准差对数据集中的变量进行标准化变换,并生成一个包含标准化值的新SAS数据集nMean=mean-value: 规定均值nStd=std-value: 规定标准差nStandard例103SAS培训班讲义Rank过程n与其研究数值大小不如研究排序的情况n该过程把数值从最小到最大排列,对最小值赋予秩1,对第二小值赋予秩2,一直到赋予秩n,即未丢失的观测个数。n出现结值(tie)时,其秩可以赋予平均秩或高秩或低秩。nRanks 选项分

45、配求秩后的变量名 nRank例104SAS培训班讲义Univariate过程n又称单变量过程,可以求单个变量的大部分统计指标nNormal选项:要求对数据服从正态分布(原假设)进行检验。当样本容量2000时,使用D统计量检验105SAS培训班讲义Univariate过程nOutput out=datasets要求输出包含指定统计量的数据集nPctlpts规定该过程不能自动提供而用户又希望计算的百分位数nPctlpre要求给出百分位数的输出变量名的前缀,pctlname后缀。nUnivariate例106SAS培训班讲义Corr过程n计算变量间的相关系数n相关是对两个变量间线性关系强弱程度的一种

46、测度。n如果一个变量恰好可表示成另一个变量Y的线性函数,那么相关系数为1或-1,即正相关或负相关。如果两变量间的相关系数为0,这意味着两变量无线性关系。nCorr例107SAS培训班讲义Options过程n列出SAS系统选项的当前值。nSAS系统选项是SAS系统用来控制SAS数据集的处理,输出的格式和内容等的全局选项n系统选项的优先次序:options语句配置文件缺省设置n例:options nodate;nOptions(view)例,options例108SAS培训班讲义Printto过程n该过程用来定义SAS过程输出和SAS日志输出的地点nPrint选项规定输出结果存放地点nLog选项规

47、定输出日志存放地点nNew选项表示要覆盖已存在的文件,如无new选项但有已存在的文件名,则在已有的文件内容后追加nPrintto例109SAS培训班讲义Compare过程n该过程用来比较两个SAS数据集中的内容n用base和compare选项分别规定待比较的两个数据集nCompare例110SAS培训班讲义Datasets数据库管理过程n该过程用来对SAS数据库中的SAS文件进行列表、拷贝、更名,添加和删除等操作nDatasets是交互过程,可以不断插入并执行该过程的相关语句而不用重复调用Datasets,但可以使用quit语句或另一个proc步或data步来终止此过程nDatasets1例1

48、11SAS培训班讲义Datasets过程nIndex create :创建简单或复合索引nPw (read、write、alter):设置密码nRepair member-name: 在适当情况下试图重新存贮被损坏的SAS数据集或目录nDatasets(index)例、datasets(pw)例112SAS培训班讲义SQL过程nSQL 结构查询语言(Structured Query Language) 是一个标准化的广泛使用的语言,可以检索和更新关系表格和数据库中的数据。n关系,类似于数学中的集合概念,实际上被表现为一些排列成行和列的二维表格(关系数据库)113SAS培训班讲义SQL过程nSQ

49、L语句的特征:子句内的项用逗号分开;不需规定Run语句;114SAS培训班讲义SQL过程nSelect语句用来检索和操作存于表中的数据。(order从句,format选项)nCreate语句生成表格nUpdate语句增加或修改在表格的列里的数值,Insert和Delete语句插入和删除行,用Alter语句增加、修改、删去列来修改表格。115SAS培训班讲义SQL过程nDelete语句从表中删去where表达式为真的所有行nInsert to往一个新的或已存在的表中加入新的行nSql例116SAS培训班讲义全程语句nQuit, run, endsas :分别为结束、运行SAS语句、关闭SAS系统

50、nTitle, footnote:添加标题和脚注n:对一个外部文件定义标记nLibname:对一个SAS数据库定义标记n例,libname例117SAS培训班讲义全程语句nMissing语句规定表示缺失值的字符,通常出现在data语句中,但其作用范围是全局的。nPage语句使得日志跳到新一页nSkip语句使得日志跳过规定的行数n%include语句从外部文件读出SAS语句或数据行并执行:nMissing例,page例,skip例,Include1例118SAS培训班讲义Tabulate制表过程(Tabulate例)n由分类变量、分析变量和统计量关键词组成的表达式构成描述性统计报表。nTabul

51、ate过程的Table语句的操作符(星号、空格、园括号,逗号)1.交叉连接项,即嵌套(使用*号)2.项与项之间的并列连接,即平行(使用空格)3.改变次序(使用园括号)119SAS培训班讲义Tabulate制表过程n4.产生的报表最多三维:如果包含二维,次序为行、列;如果包含三维,次序为页、行、列。(维表达式间用逗号隔开;) 5. 用定义Pctn统计量的分母n分类变量必须在class语句中说明n分析变量必须在var语句中列出120SAS培训班讲义Tabulate制表过程nProc tabulate过程的其他语句1. missing选项:要求把缺失值作为分类变量的有效水平2. order=freq

52、 | data | internal | formatted规定报表中分类变量值出现的次序freq: 按频数下降的次序data: 按原数据集中出现的先后次序internal: 按非格式化值的次序formatted: 按格式化值的次序121SAS培训班讲义Tabulate制表过程nLabel语句用来对变量加标签nKeylabel语句用来对统计量加标签n统计量:N(字符型变量的默认统计量), Nmiss, Mean, Std, Min, Max,Range, Sum(数值型变量默认统计量),Var, Pctn(频数N的百分数,后面参数为列变量则是行百分比,后面参数为行变量则是列百分比)nF或for

53、mat表示输出使用一定的格式,如:a*f=8.2;122SAS培训班讲义Tabulate制表过程n全类变量all,当all嵌入某个交叉时,all不考虑分类变量的水平,而用all来生成子集和及总和。如 B*(A all)、(all B)* (all A)nTabulate1例123SAS培训班讲义上机练习n按tabulate1例,模拟编制类似数据,练习各种制表方法124SAS培训班讲义第五部分SAS/stat 模块nSTAT模块的过程介绍125SAS培训班讲义Freq过程(freq_cows,_eye例)nFreq过程用于产生单向到n向的频数表或交叉表以及针对表格的各种统计量。n用星号连接起来的

54、变量,最后一个变量的值形成列,倒数第二个变量的值形成行,其余变量的每一个水平形成一层。如:table a*b*c*d;n使用chisq卡方统计量,检验变量间的相关性,原假设为变量间不相关126SAS培训班讲义SAS宏n利用宏可以减少在完成一些共同任务时必须输入的文本量n利用宏可以使程序模块化,使程序易读、便于修改、移植、方便重复使用127SAS培训班讲义SAS宏变量n宏变量属于SAS宏语言,与普通变量的区别是可以独立于DATA步n可以在SAS程序中除数据行之外的任何地方定义并使用宏变量n%let语句定义宏变量并分配一个值给宏变量(如:%let dsn=3)n当引用一个宏变量的值,放&号在宏变量

55、前128SAS培训班讲义SAS宏变量(macro_str,_var,_auto例)n使用%str函数围住宏变量的值,使得在这个值内部的分号作为这个文本的部分,而不是%let语句的结束n使用%put语句在LOG窗口显示宏变量的值nSAS/BASE中的自动宏变量,如:sysver, systime(给出SAS程序或会话开始执行的时间);129SAS培训班讲义SAS宏n用%macro语句开始一个宏,同时给出这个宏的名字。如:%macro dsn;用%mend语句结束一个宏,其后给出宏名字。如:%mend dsn;n放一个百分数符号(%)在宏名字的前面以调用一个宏,如%dsnnMacro例130SAS

56、培训班讲义宏参数n被定义在一个%macro语句的宏名字后括号内的宏变量称为宏参数,可以直接给出宏参数的值,也可以在调用这个宏时给出这些参数的值。n对参数分配的值只在这个宏执行时有效,而宏变量从用户创建直到SAS会话结束前都存在nmacroP1例、macroP2例131SAS培训班讲义SAS错误的处理n一、句法错误:当程序语句与SAS语言准则不一致时发现的错误,如关键词拼错,少掉分号等。n二、词义错误:元素在当前程序语句中的用法是无效时产生,如do over an三、数据错:当有些数据值不适合用户规定的格式时出现132SAS培训班讲义SAS错误的处理n四、运行错:当SAS执行程序时在数值上出现的

57、错误,如用0作为除数,infile引用的文件地址不存在等n常见错误:1、遗漏run语句,在活动窗口的标题栏里显示proc(或data) step running133SAS培训班讲义SAS错误的处理n2、遗漏分号,在log窗口中显示错误,将下一个有效的语句解释为无效的语句n3、引号不配对,log信息指明字符串太长或语句被混淆n4、无效选项,log指明选项无效或不认识n5、出现错误时可以同时按下ctrl+break中断程序134SAS培训班讲义SAS错误的处理n6、注意有汉字输入的程序中可能带来的输入法兼容性错误,解决方法是重新输入,并检查错误135SAS培训班讲义数据挖掘模块(Data min

58、er)n大型数据远在天边,近在眼前n数据的迅速增加与数据分析方法的滞后之间的矛盾数据挖掘应运而生 n数据挖掘是从大量数据中提取出隐藏在数据之后的有用的信息,揭示潜藏在大型数据里的事物规律136SAS培训班讲义数据挖掘的应用n天文学上的应用:SKICAT (Sky Image Cataloging and Analysis Tool),自动分类和测量观测到的天体 n金融投资:对大量即时数据进行自动分析和学习提高。 n市场营销:通过数据分析了解客户购物行为的一些特征 137SAS培训班讲义从一个数据挖掘实例谈起n市场营销的一个例子:投放宣传品的数据挖掘:n1、界定商业问题n2、数据转为信息n3、基

59、于信息的商业行为n4、结果评估138SAS培训班讲义数据挖掘DM-samplen数据挖掘中的数据角色: Raw:原始数据Training: 用于建模的训练数据Validation: 调整模型估计量值的数据Test: 检验模型的数据Score:得分数据,记录分析结果139SAS培训班讲义数据挖掘DM-samplen抽样带来的两个问题:n1、多大比例的样本能真实的反应整体n2、样本的质量问题如何决定样本的有效性。高质量的样本应该是整体的一个精确微缩,它保存了单个变量的分布和变量之间的关系。140SAS培训班讲义数据挖掘DM-samplen抽样的方法决定前述两个问题的解决n1、简单随机抽样n2、分层

60、随机抽样n3、过度抽样141SAS培训班讲义数据挖掘DM-modifyn变量属性:target目标变量input可以进行预测的变量reject不可以进行预测的变量id标识变量142SAS培训班讲义数据挖掘DM-modifyn数据类型nUnary1个值变量binary2个值变量nominal多于2个值的名义变量ordinal多于2个不多于10个值的数值变量interval多于10个值的数值变量143SAS培训班讲义数据挖掘DM-modelnDM视目标事件的值为排序第一的值,调整排序n考虑成本和利润:错误的投放:成本¥10正确的投放:利润¥90¥10¥80nTarget profile:创建决策矩

61、阵利润矩阵成本 先验概率144SAS培训班讲义数据挖掘DM-modifyn数据集按角色分块n缺失值处理:replacement填充interval类型变量填充为均值binary, nominal, ordinal类型变量填充为出现概率最大的值145SAS培训班讲义数据集按角色分块146SAS培训班讲义数据挖掘DM-modeln建立模型:n1、回归模型:建立单个或多个分析变量与一个目标变量之间的关系(一般线性回归和Logistic 回归)n2、聚类模型:对多维数据进行降维处理147SAS培训班讲义多维数据的烦恼148SAS培训班讲义数据挖掘DM-assessn模型的评估:lift chart 给每个客户一个评分,说明其购买的可能性n目标客户得分149SAS培训班讲义SEMMAnSamplenExplorenModifynModelnAssess150SAS培训班讲义第六部分SAS/ets 过程nTscsreg过程对面板数据(Panel data)的回归分析n先要对分层的变量进行排序n使用tscsreg过程,其中id后接分层变量151SAS培训班讲义

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号