人大论坛SAS培训班_第1页
人大论坛SAS培训班_第2页
人大论坛SAS培训班_第3页
人大论坛SAS培训班_第4页
人大论坛SAS培训班_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

5、present)及应用开发(develop)的功能 n在数据处理、统计分析和IT应用领域,SAS系统已经成为国际上的标准软件系统。12SAS的发展历程一n1966年由美国北卡罗来纳州(NorthCarolina)州立大学开始研制 n1976年成立美国SAS软件研究所,并开始对SAS系统进行维护、开发、销售和培训等工作 n1985年推出了SAS/PC(6.02)版本 13SAS发展历程二n1989年推出SAS/PC(6.04)版本 n1997年下半年推出适用于多种操作系统的6.12版本 n2000年2月又正式推出SAS系统8版本 n2002年推出全新的SAS9版本14SAS在中国的发展nSAS公

6、司于1989年在北京成立了办事处 n1997年,SAS软件研究所正式宣布成立大中国区 n1999年3月在国内设立独资公司赛仕软件(上海)有限公司。15SAS的成绩n全球十大独立软件开发商之一 n世界六大洲近50个国家或地区设有分公司及分支机构 n应用遍及120多个国家和地区(包括中国)的31000多个机构中 n全球100家最大公司中的90多家都在应用SAS系统。16SAS模块介绍nBase SAS: 1、数据管理功能数据管理功能2、基础统计计算功能、基础统计计算功能 3、报表生成和图形显示功能报表生成和图形显示功能 17nSAS/STAT 统计分析nSAS/INSIGHT 数据探索nSAS/A

7、SSIST 面向任务的易学易用模块nSAS/ETS 时间序列处理nSAS/OR 运筹学和工程管理nSAS/QC 质量控制nSAS/IML 矩阵运算nSAS/GRAPH 绘图nSAS/AF 面向对象编程(OOP)的应用开发工具,拓展SAS的功能18nSAS/EIS 面向对象编程的开发工具,用于开发企业信息系统nSAS/ACCESS 数据访问 nSAS/TOOLKIT 扩充工具,把用其他软件编写的程序转化成SAS的组成部分nSAS/Warehouse Administrator 数据仓库管理nSAS/Enterprise Miner 数据挖掘nSAS/Text Miner 文本挖掘nSAS/SHA

8、RE 数据库的并发式控制专门软件nSAS/CONNECT 使各平台SAS系统进行分布式处理,从而有效利用各平台机器资源19nSAS/GIS 地理信息系统与空间数据的显示分析nSAS/SPECTRAVIEW 数据可视化分析工具,用几何成像的方式来分析多维数据nSAS/Intrnet 提供构建基于SAS的企业内部网络支持nSAS/FSP 快速数据处理的交互式菜单系统nSAS/CALC 功能完善的多维电子表格软件nSAS/ENGLISH 提供利用自然英语获取信息的能力20nSAS/SECURE 网络传输加密nSAS/OLAP SERVER 多维数据存储及汇总结果呈现nSAS/GENETICS: SA

9、S公司的第一个科学研究应用软件,应用于遗传学,有5个分析过程nSAS/High-Performance Forecasting:提供快速高效的预测结果nSAS/C, SAS/C+ 针对IBM大型机的开发工具nSAS/LAB 向导式的数据分析软件,特别针对day-to-day类型数据n 21SAS工作空间n程序窗口(PROGRAM EDITOR)n运行记录窗口(LOG)n输出窗口(OUTPUT)22SAS程序第一例nSAS/HelloWorld.sasn注:以后程序文件省略后缀,直接简记为文件名称,如此例简记为HelloWorld,需要说明文件类型时才标明后缀。23SAS/Insight模块 1

10、、界面介绍2、Fill values 功能3、Extract 功能4、Edit/windows/tool菜单使数据探索色彩缤纷(注意选项设置)5、打开分布、拟合、多元等的窗口之后主菜单Tables、Graphs、Curves菜单才被开放。Fly,insurance数据集示例24Insight模块n其他功能:1、分布(输出大多数常用的统计量)2、拟合(回归分析)3、多元(方差分析)25SAS程序的书写格式n1、SAS程序由语句语句组成,语句用分号结束。n2、 SAS语句可以从某一行的任意位置开始; n3、几个SAS语句可以写在同一行上,但每句要使用分号26SAS程序的书写格式n4、一个语句也可以

11、写成几行,只要语句中的单词不被断开就可以。在一个语句中各个单词之间至少要有一个空格。n5、SAS程序中一般不区分大小写(字符串中要区分大小写)n6、用/*注释的内容*/来对程序进行注释27SAS程序的结构nSAS数据集样本(观测、记录)、变量(字段、域)、表(数据集)、 数据库n许多SAS语句都是以关键词开始并用它识别语句的类型(如data、input、proc)n绝大部分的SAS语句都可分为两步:DATA步和PROC步28SAS的变量及格式n变量属性(名称、类型、长度、输入格式、输出格式、标签)类型:数字型、字符串型输入格式:数据被SAS读取的格式输出格式:数据呈现给人们的格式29SAS程序

12、第二例nSAS/orange.sas输入数据-形成数据集-排序-打印显示30SAS文件及命名n1、SAS数据集文件(后缀为sas7bdat)n2、SAS程序文件(后缀为sas)n3、SAS日志文件(后缀为log)n4、SAS输出文件(后缀为list)31SAS文件及命名n临时数据集和永久数据集SAS文件的2级命名方式:目录.文件名work目录和其他目录使用Libname语句创建永久数据集,libname 自建目录名 目录地址;libname例32建立SAS数据集的5种方法1、data步自己输入数据建立。Orange例2、data步利用set 语句建立。Set例3、从外部调入。Infile例4、

13、利用“导入数据”功能建立。Id.xls例、data.txt例5、利用EFI(external file interface)功能导入。Column.dat例、tests.dat例、comma.dat例Analyst分析家模块n1、界面介绍n2、浏览与编辑模式n3、生成示例数据与抽样n4、程序清单n5、假设检验3334SAS运算符(operator例)n算术运算符:* / *n比较算符:=(EQ) =(NE) (GT) =(GE) (最小值) (最大值) |(!)(连接)35字符的比较(operator_char例)n1、按机器使用的字符排列次序(ASC或Unicode)从左到右被比较。n2、两

14、个不等长的字符串被比较时,系统在较短的字符串后自动添上空格n3、在比较符后加冒号,则只比较首字母36运算次序一n在括弧里的表达式先计算n第一级:* ()前缀 n第二级:* /n第三级:n第四级:|n第五级:其余比较算符n第六级:n第七级:37运算次序二n对于相同优先级的算符,左边的运算先做。但有两个例外:n1.对最高优先级,右边的运算先做n2.当两个比较算符围着一个量时,这个表达式看成是有一个and 出现一样被计算。如:12age 20,等价于:12age & age20 38SAS函数一(部分)n数学函数:abs()、max ()、min ()、mod (x, y)、sign (x)

15、、sqrt (x)、 sum ()、 mean ()、exp (x) 、log (x)、log10 (x)、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)39SAS函数二(部分)nSAS系统存贮日期值为1960年1月1日到指定日期之间的天数nSAS存贮时间值为从午夜开始到指定时间的秒数n日期时间值存贮为1960年1月1日午夜到指定日期时间之间的秒数n日期时间

16、函数:weekday ( )、day()、month()、qtr()、year()40SAS函数三(部分)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例41DATA步n文件操作语句n运行语句n控制语句n信息语句42DATA步流程nDATA语句标志了数据步开始,并指定了数据步结束时要生成的数据集名字。n每次读入一行数据,读入后执行数据步中的其它语句,循环数据步读取整个数据。n_N_变量表示DATA

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

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

19、input例,Input例47Input语句n利用n +n #n 进行指针控制input1例48Input语句n几个特殊符号的用法(: & ): 读值时第一次遇到分隔符、或是数据行末尾、或是读满列数而结束 字符型输入值可以嵌有一个或几个空格 字符型输入值保留引号(与infile 语句中选项dsd一起使用才有效)nInput2例49Cards语句nCards语句与datalines语句可以通用n如果输入数据中含有分号,可用cards4语句或datalines4语句,同时,数据结尾用4个分号表示数据输入结束nCards4例50Put 语句nPut语句负责在log窗口输出一些结果,file

20、print选项可把输出转移到output窗口nPut _infile_ (输出最新的数据行到SAS log 窗口)nPut _all_ (输出所有变量的值)nPut _page_ (输出新页)nPut例、put1例51File 语句nFile print 把put语句产生的输出结果转移到output窗口nPut例52By 语句n在DATA步中,SAS系统对每个BY组创建两个临时变量:First .variableLast .variable它们用来区别每个BY组的第一个和最后一个观测nBy例53Set语句n使用set语句复制数据集nPoint选项指明要读入的记录序号set 数据集 point=

21、指针变量;可用于抽样,一般与output语句连用nNobs选项创建一个临时变量用来存储数据集的观测总数n见set例,point例54Set语句nSet语句可以串接多个数据集,形式如下nData 数据集; set 数据集A 数据集B ; Run;nRename选项负责改名;in选项产生变量负责记录观测来自该数据集;n见set2例55Merge语句n使用Merge语句并接多个数据集,形式如下nData 数据集;merge 数据集1 数据集2 ;by 变量;run;n见merge例56Update 语句nUpdate语句用一个升级数据集中的观测来修改一个主数据集。nUpdate语句一定要与BY语句一

22、起使用,BY语句给出了合并观测时共同变量的名字n主数据集中的共同变量必须是单值的,即不能有两个或两个以上的观测其共同变量值相同nUpdate例57Infile语句nDelimiter (DLM)选项:规定一个字符替代空格作为分隔符。nFirstobs选项 :不是从文件的第一个记录开始,而是从指定行开始读取记录nObs选项:规定用户想从输入文件中连续读取的最后一个记录号nInfile(dlm)例、 Infile(obs)例58Infile语句nDSD选项:1、使最外层引号括起的内容当成整个字符串输入,并去除最外层引号2、默认分隔符为逗号3、两个相邻的分隔符意味着前一个分隔符后的字段为缺失值nIn

23、file(dsd)例 (回顾input2例)59Infile语句n当行末尾数据宽度少于规定宽度时Flowover: 默认选项,将下一条记录读入Missover:将变量置为缺失Truncover:将数据直接读入,不管宽度是否少于规定宽度Stopover:系统终止数据步执行,报告出错nMissover例60Infile语句nLrecl=n选项:设定源数据文件行的物理长度,缺省为256,最大可设为32767nPad | Nopad选项:pad选项指当宽度少于规定宽度时,在后面填充空格至Lrecl=n规定的行长度,缺省为nopadnMissover例61运行(算)语句赋值语句和累加语句n赋值Varia

24、ble = expression例:x=a + b;n累加 Variable + expression例:if x=5 then n+1;例:n+(-1)n累加语句中的变量必须是数值型变量,初始值为062Delete和lostcard(*)语句nDelete语句告诉SAS系统停止处理当前的观测,并且返回到这个Data步的开头处理其他观测n当SAS系统遇到用几个记录表示一个观测的时候,数据中有丢失记录时,使用Lostcard语句来重新对准输入数据ndelete例,lostcard例63Stop和abort语句n用stop语句来停止处理data步,正被处理的那个观测没有添加到SAS数据集中,sto

25、p语句不影响后面的任意data步或proc步的执行n用abort语句来中止SAS系统执行当前DATA步,return选项关闭SAS并返回操作系统。nStop与abort的区别在于abort语句置_error_变量为1nAbort例64Where 语句n从已存在的SAS数据集选择子集,在把观测读入之前规定数据必须满足一个条件nWhere 语句与if语句相比在读取数据时更为高效,因其在移动所有观测到子集之前先选择数据。nWhere语句丰富的表达式nwhere例65Output语句nDATA步的每次迭代,后台自动使用output语句,但如果程序中主动加上output语句,即相当于取消自动output

26、语句,变成在条件符合时输出。noutput例66Output语句n用到output语句其他情况:output123例1.从一个输入的数据文件中,创建几个SAS数据集2.从输入的每个数据行中,创建二个或更多个观测3.把几个输入观测组合并成为一个观测n后面接名字表示输出到指定数据集,但名字必须也在DATA后出现67Call语句n调用其他子程序call routine (parameter-1 ) 如SAS提供一系列随机数子程序n发布操作系统命令call system (command) nCall例(*)、Call_system例68控制语句Do语句(循环语句)nDO语句规定,在DO后面直到出现E

27、ND语句之前的这些语句作为一个单元被执行。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例69Do while语句n当条件成立时重复执行Do组里的语句Do while (expression);n括号里的表达式在Do组里的语句被执行前在循环的开头被计算。如果表达式是真的,Do组被执行nDo while例70Do until语句n有条件地执行Do组里的语句,在循环的最后而不是在循环的开头计算表达式,如果表达式是真的,D

28、o组就不再被执行。nDo组里的语句至少执行一次。nDo until例71Select语句n允许SAS去执行几个语句或者语句组中的一个。n当一个特殊条件为真时,执行对应when语句,如果所有when条件均不成立,选择执行otherwise语句,用end结束nSelect(when)例72If语句n1.形如:IF expression THEN statement; ELSE statement;2.形如:IF variable例:if x then y=x;当变量x的值为0和缺失之外的任意值时表达式均为真nIf_else例、If_x例73Return语句n告诉SAS系统在data步当前这个位置上

29、停止执行语句并在继续执行之前返回到一个预定的位置(通常是data步开头)n当return语句使得SAS返回到data步开头时,SAS首先输出当前观测到新数据集中。n每个data步都有一个隐含的return语句作为最后一个可执行的语句nReturn例74Go to语句n告诉SAS系统立即转到Go to语句所指示的那个语句,并从那个语句开始执行后面的语句。n形如:GO TO label;label规定语句标号来指示Go to的目标,它必须与go to语句在同一个data步nReturn选项规定返回而不执行下面语句nGo to例75Link语句(*)n形如link label;n立即转到由label

30、语句指示的位置,并从那里开始继续执行语句直到一个return语句被执行。n与goto语句的区别是:标签内的return语句让SAS立即返回到link语句后面的那个语句并从那里继续执行nLink例76Continue和leave语句nContinue语句使得某个do循环中当前这次循环过程停止进行,并继续进行下一次循环过程。nLeave语句停止当前整个do组循环或select组的处理过程,并用跟在do组或select组后面的下一个语句继续执行data步nContinue例,leave例77循环的嵌套(*)Do(do)例、select(do)例78怎样选择使用不同的控制语句nDO:多次执行同样的代码

31、块nDO while:当while条件为真时,多次执行同样的代码块nDO until:多次执行同样的代码块,直到until条件为真,代码块总会执行一次nSELECT:知道明确的离散选择项时使用nIF:希望从2个或多个可能的事件中完成一个,允许连续选择项79怎样选择使用不同的控制语句n跳转代码(go to,link):需要暂停主代码,执行“标签”指明的其它代码n中止代码(return,continue,leave):负责某种形式的中止。80信息语句数组(array)语句n当需要用同一种方法处理很多变量时,可以用数组语句定义这组变量为某个数组中的元素。n1.显示下标array语句:由一个数组名字,

32、在数组中元素个数的说明,及元素列表组成。n2.隐含下标array语句:由一个数组名字、一个下标变量和列表名组成。81显示下标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例82显示下标array语句n规定数组中每一维的上下界:array x1:5,1:3 score1-score15;

33、n*表示SAS系统通过数组中变量的个数来确定下标。可用dim(数组名)函数计算数组元素个数。n_temporary_建立一个临时数组元素列表narray(dim)例,array(temporary)例,array(prod)例83隐含下标array语句n形如:ARRAY array-name array-elements n如果没有规定下标变量,SAS系统使用自动变量_i_作为下标变量,下标变量范围从1到这个数组元素的个数n如:array x x1-x5nArray(s)例84Do over语句nDo over 语句对每个数组元素自动地执行Do组中的语句,它等价于 do i=1 to k;其中

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

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

36、Attrib x label=中国载人飞船 length=4 informat=8.5 format=8.2;nAttrib例90Window语句n创建用户专用的窗口,可用来显示文字说明或接受输入的数据nWindow例91上机练习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 10092上机练习2(ex2例)n编制程序:3个变量d1-d3,数据节

37、选如下:1 2 7 2 3 . 3 . 4n要求:如果发现缺失值 ,即用该列数据的平均值来代替,数据结果应如下:n1 2 7 2 3 5.5 3 2.5 4 93Proc步的通用语句(Reg例)nProc 用在proc步的开头并规定用户使用的SAS过程名字及其他信息nVar规定用这个过程分析的一些变量nModel规定在模型中类似表示因变量(左)和自变量(右)的这样一些变量及其他信息nWeight规定一个变量,它的值是这些观测的相应权数94Proc步及通用语句nFreq规定一个变量,其值表示频数nId规定一个或几个变量,他们的值在打印输出中或由此过程产生的SAS数据集中用来识别观测nWhere在

38、SAS把观测引入proc步之前,用来选择符合特殊条件的观测nClass在分析中指定一些变量为分类变量95Proc步及通用语句nBy规定一些变量,SAS过程对输入数据集用by变量定义的几个数据组分别进行分析处理nOutput给出用该过程产生的输出数据集的信息nQuit结束交互式的过程n其他如Attrib属性语句、format输出格式语句、label标签语句等96Transpose(转置过程)nTranspose过程完成对sas数据集的转置,即把观测变为变量,变量变为观测。nOut选项规定输出数据集nPrefix选项规定转置后的变量名前缀nId选项使用其后规定的变量值作为输出数据集中被转置的变量名

39、nTranspose例97Means均值过程n计算数据集中数值变量的简单统计量nT选项:检验数据总体均值为0的假设时,t统计量的值nPrt选项:Prob |T| , 数据总体均值为0的概率是多少n默认生成的_type_和_freq_变量分别规定分组数(如果有)和频率nMeans例,weight例,freq例98Means均值过程nMaxdec选项规定输出结果的小数部分最大位数n可以输出的统计量:N, Nmiss, mean, std, min, max, range, sum, var, uss, css, cv(变异系数), stderr, t, prt, sumwgt, skewness(

40、偏度), kurtosis(峰度), clm(置信限), lclm(置信下限), uclm(置信上限)99Format过程(format_num,char,lowhigh例)n使用Format过程把输出格式同Data步、Proc步的变量联系起来。n输出格式一:SAS格式n输出格式二:Format定义的格式,形如value 格式名 变量值=自定义值;proc ;format 变量 格式名.;100Format过程n输出格式三:图示输出,只适用于数值型变量,形如picture 格式名 other格式化值;proc ;format 变量 格式名.;nFormat_picture例101Plot过程n

41、对数据集中任两个变量的n个观测值画出散点图,第一个变量表示y轴,第二个表示为x轴n两种情况:plot y*x=+;(规定一个字符作为作图字符)plot y*x=sex;(作图字符由变量的值给出)102Plot过程nVref(Href)要求散布图在垂直(或水平)轴的一些规定值上画水平线(或垂直线)作为参照线n/overlap选项:在同一张图上作两个以上的散点图。如:plot y*x a*b /overlay;nPlot(函数)例103Standard标准化过程n目的是使不同量纲的变量能互相比较nStandard过程按给定的均值和标准差对数据集中的变量进行标准化变换,并生成一个包含标准化值的新SA

42、S数据集nMean=mean-value: 规定均值nStd=std-value: 规定标准差nStandard例104Rank过程n与其研究数值大小不如研究排序的情况n该过程把数值从最小到最大排列,对最小值赋予秩1,对第二小值赋予秩2,一直到赋予秩n,即未丢失的观测个数。n出现结值(tie)时,其秩可以赋予平均秩或高秩或低秩。nRanks 选项分配求秩后的变量名 nRank例105Univariate过程n又称单变量过程,可以求单个变量的大部分统计指标nNormal选项:要求对数据服从正态分布(原假设)进行检验。当样本容量2000时,使用D统计量检验106Univariate过程nOutpu

43、t out=datasets要求输出包含指定统计量的数据集nPctlpts规定该过程不能自动提供而用户又希望计算的百分位数nPctlpre要求给出百分位数的输出变量名的前缀,pctlname后缀。nUnivariate例107Corr过程n计算变量间的相关系数n相关是对两个变量间线性关系强弱程度的一种测度。n如果一个变量恰好可表示成另一个变量Y的线性函数,那么相关系数为1或-1,即正相关或负相关。如果两变量间的相关系数为0,这意味着两变量无线性关系。nCorr例108Options过程n列出SAS系统选项的当前值。nSAS系统选项是SAS系统用来控制SAS数据集的处理,输出的格式和内容等的全局

44、选项n系统选项的优先次序:options语句配置文件缺省设置n例:options nodate;nOptions(view)例,options例109Printto过程n该过程用来定义SAS过程输出和SAS日志输出的地点nPrint选项规定输出结果存放地点nLog选项规定输出日志存放地点nNew选项表示要覆盖已存在的文件,如无new选项但有已存在的文件名,则在已有的文件内容后追加nPrintto例110Compare过程n该过程用来比较两个SAS数据集中的内容n用base和compare选项分别规定待比较的两个数据集nCompare例111Datasets数据库管理过程n该过程用来对SAS数据

45、库中的SAS文件进行列表、拷贝、更名,添加和删除等操作nDatasets是交互过程,可以不断插入并执行该过程的相关语句而不用重复调用Datasets,但可以使用quit语句或另一个proc步或data步来终止此过程nDatasets1例112Datasets过程nIndex create :创建简单或复合索引nPw (read、write、alter):设置密码nRepair member-name: 在适当情况下试图重新存贮被损坏的SAS数据集或目录nDatasets(index)例、datasets(pw)例113SQL过程nSQL 结构查询语言(Structured Query Lang

46、uage) 是一个标准化的广泛使用的语言,可以检索和更新关系表格和数据库中的数据。n关系,类似于数学中的集合概念,实际上被表现为一些排列成行和列的二维表格(关系数据库)114SQL过程nSQL语句的特征:子句内的项用逗号分开;不需规定Run语句;115SQL过程nSelect语句用来检索和操作存于表中的数据。(order从句,format选项)nCreate语句生成表格nUpdate语句增加或修改在表格的列里的数值,Insert和Delete语句插入和删除行,用Alter语句增加、修改、删去列来修改表格。116SQL过程nDelete语句从表中删去where表达式为真的所有行nInsert t

47、o往一个新的或已存在的表中加入新的行nSql例117全程语句nQuit, run, endsas :分别为结束、运行SAS语句、关闭SAS系统nTitle, footnote:添加标题和脚注nFilename:对一个外部文件定义标记nLibname:对一个SAS数据库定义标记nFilename例,libname例118全程语句nMissing语句规定表示缺失值的字符,通常出现在data语句中,但其作用范围是全局的。nPage语句使得日志跳到新一页nSkip语句使得日志跳过规定的行数n%include语句从外部文件读出SAS语句或数据行并执行:nMissing例,page例,skip例,Incl

48、ude1例119Tabulate制表过程(Tabulate例)n由分类变量、分析变量和统计量关键词组成的表达式构成描述性统计报表。nTabulate过程的Table语句的操作符(星号、空格、园括号,逗号)1.交叉连接项,即嵌套(使用*号)2.项与项之间的并列连接,即平行(使用空格)3.改变次序(使用园括号)120Tabulate制表过程n4.产生的报表最多三维:如果包含二维,次序为行、列;如果包含三维,次序为页、行、列。(维表达式间用逗号隔开;) 5. 用定义Pctn统计量的分母n分类变量必须在class语句中说明n分析变量必须在var语句中列出121Tabulate制表过程nProc tab

49、ulate过程的其他语句1. missing选项:要求把缺失值作为分类变量的有效水平2. order=freq | data | internal | formatted规定报表中分类变量值出现的次序freq: 按频数下降的次序data: 按原数据集中出现的先后次序internal: 按非格式化值的次序formatted: 按格式化值的次序122Tabulate制表过程nLabel语句用来对变量加标签nKeylabel语句用来对统计量加标签n统计量:N(字符型变量的默认统计量), Nmiss, Mean, Std, Min, Max,Range, Sum(数值型变量默认统计量),Var, Pc

50、tn(频数N的百分数,后面参数为列变量则是行百分比,后面参数为行变量则是列百分比)nF或format表示输出使用一定的格式,如:a*f=8.2;123Tabulate制表过程n全类变量all,当all嵌入某个交叉时,all不考虑分类变量的水平,而用all来生成子集和及总和。如 B*(A all)、(all B)* (all A)nTabulate1例124上机练习n按tabulate1例,模拟编制类似数据,练习各种制表方法125第五部分SAS/stat 模块nSTAT模块的过程介绍126Freq过程(freq_cows,_eye例)nFreq过程用于产生单向到n向的频数表或交叉表以及针对表格的

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

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

温馨提示

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

评论

0/150

提交评论