SAS教程讲义
- 格式:ppt
- 大小:3.07 MB
- 文档页数:118
第三十课 Spearman 等级相关分析一、 秩相关的Spearman 等级相关分析前面介绍了使用非参数方法比较总体的位置或刻度参数,我们同样也可以用非参数方法比较两总体之间的相关问题。
秩相关(rank correlation )又称等级相关,它是一种分析i x 和i y 等级间是否相关的方法。
适用于某些不能准确地测量指标值而只能以严重程度、名次先后、反应大小等定出的等级资料,也适用于某些不呈正态分布或难于判断分布的资料。
设i R 和i Q 分别为i x 和i y 各自在变量X 和变量Y 中的秩,如果变量X 与变量Y 之间存在着正相关,那么X 与Y 应当是同时增加或减少,这种现象当然会反映在(i x ,i y )相应的秩(i R ,i Q )上。
反之,若(i R ,i Q )具有同步性,那么(i x ,i y )的变化也具有同步性。
因此:∑∑==-==n i ni i i i Q R d d 1122)((30.1)具有较小的数值。
如果变量X 与变量Y 之间存在着负相关,那么X 与Y 中一个增加时,另一个在减小,d 具有较大的数值。
既然由(i x ,i y )构成的样本相关系数反映了X 与Y 之间相关与否的信息,那么在参数相关系数的公式),(Y X r 中以i R 和i Q 分别代替i x 和i y ,不是同样地反映了这种信息吗?基于这种想法,Charles Spearman 秩相关系数),(Q R r s 应运而生:∑∑∑∑∑∑∑----=22)1()1()1)(1(),(i i i i i i i i s Q n Q R n R Q n Q R n R Q R r (30.2)),(Q R r s 与),(Y X r 形式上完全一致,但在),(Q R r s 中的秩,不管X 与Y 取值如何,总是只取1到n 之间的数值,因此它不涉及X 与Y 总体其他的内在性质,例如,秩相关不需要总体具有有限两阶矩的要求。
第一课SAS软件的基本概念一.What is SAS?SAS - Statistics analysis system✧它是一个组合软件系统,由多个功能模块组合而成;✧其基本部分是 BASE SAS模块;✧BASE SAS 模块是 SAS 系统的核心:承担着主要的数据管理任务,管理用户使用环境,进行用户语言的处理,调用其他 SAS 模块和产品。
✧具有灵活的功能扩展接口和强大的功能模块:SAS/STAT(统计分析模块)SAS/GRAPH(绘图模块)SAS/QC(质量控制模块)SAS/ETS(经济计量学和时间序列分析模块)SAS/OR(运筹学模块)SAS/IML(交互式矩阵程序设计语言模块)SAS/FSP(快速数据处理的交互式菜单系统模块)SAS/AF(交互式全屏幕软件应用系统模块)我们的主要学习内容✧SAS/Base✧SAS/Stat✧SAS/Graph二.SAS 窗口系统Editor 窗口:编程窗口Log 窗口:显示程序运行过程Output 窗口:显示运行结果Explorer 窗口:用于管理 SAS 文件。
它可以◆查看SAS 文件◆产生外部文件的快捷路径◆产生新的SAS 文件◆打开SAS 文件看其内容◆移动,复制和删除文件◆打开相关的窗口,例如新的library 窗口Results 窗口:三.Base SAS 的内容●SAS language●SAS procedures●Macro facility●Data step debugger●Output delivery system四.SAS语言的基本要素✧data set options - SAS数据集选项✧SAS system options - SAS系统选项✧formats and informats - 输出格式和输入格式✧functions✧Statements - SAS语句五.SAS数据的结构SAS 数据由行和列组成。
一行成为一个观测值(observation), 一列成为一个变量(variable)。
第三章:对SAS 数据文件的合并与存取本章主要内容,是介绍SAS 软件对整个数据文件的存取及合并的方法,而上一章则主要是介绍对一个数据文件内变量的读取及处理方法。
我们先讲一讲如何用SAS 指令合并两个或多个数据文件。
一、 S AS 软件对两个及以上数据文件的合并在数据分析时,将两个不同的数据文件并为一个,以进行进一步的综合研究,有时是很必要的。
SAS 软件有两种合并两个数据文件的方法。
1、 垂直合并:垂直合并的方法,适用于已经用DA TA 类指令建立起的两个或多个SAS 数据文件,这些数据文件必须具有完全相同的变量(名称及内容),换句话说,两个数据矩阵应具有相同的列数。
这种合并是在一个新的DA TA 阶段里,通过“垂直合并表格指令”SET 来实现的。
合并后,一个表格接在另一个表格之下.........。
下面是一个这类合并的图例:我们有两张分别叫作“Table 1”和“Table 2”的SAS 表格,如下图:Table 1 Table 2 obs v1 v2 obs v1 v2可为地址,人名 观测单位用DA TA 类指令建立合并这两张表的程式可如下编写:在程式运行后,我们可以得到一个新的叫作Table3的SAS表格,这张新表包含有名叫Table1与Table 2的两张SAS数据表,是这两张表的垂直合并。
其形式如下图(Table2被接在表Table1之下):Table3如果被合并的表格(如上例Table1、Table2)并没有完全一样的结构,或者说没有一样的变量,合并指令仍会执行,所有有问题的数据在新的合并表中,将会以残缺数据符号“·”代替。
2、水平合并:与“垂直合并”一样,水平合并也是将已经建立好的两个或多个SAS数据文件,合并成一个新的数据文件,供数据分析之用。
被合并的数据文件,必须具有完全相同的观测单位。
或者说,两个数据矩阵的“行数”要完全相同,在合并前...,两个矩阵各自的第一列的元素也应当完全相同。
目标•了解SAS系统的功能特点;•熟悉AS系统操作环境;•掌握SAS系统的有关概念;•学会使用DATA Step读入外部数据文件以及对现有的数据集进行读入、修改、拼接以及合并;•学会使用PROC Step的几个重要过程对数据集进行操作;•学会使用ODS(输出传递系统)控制输出;•了解SAS宏语言;第一章SAS系统简介•SAS提供的基本运行环境:显示管理系统。
介绍显示管理系统中的有关窗口、菜单及操作。
•运行一个简单的SAS程序:proc print data=sasuser.admit;varname sex agewhere age gt30;run; 第一章SAS系统简介•SAS系统对数据的管理:*SAS数据集(data set):*SAS数据视图(data view):*SAS数据库(library)和库标记:第一章SAS系统简介*标记一个SAS数据库的两种方法:1、通过菜单进行;2、libname 库标记引擎数据源选项;练习:用两种方法分别建立:1、一个默认的SAS数据库;2、一个包含ORACLE数据的SAS数据库;3、一个包含ODBC数据的SAS数据库。
第一章SAS系统简介*SAS文件快捷方式(File Shortcut):*SAS文件的两级名:库标记.文件名*SAS的永久库和临时库:永久库:SASUSER、SASHELP、自定义的库;临时库:WORK第一章SAS系统简介练习:1、建立一个文件快捷方式。
2、使用SAS Notepad窗口来创建和保存SAS 程序第一章SAS系统简介•SAS变量的类型:*字符型变量(Character Variable):*数值型变量(Numerical Variable):•SAS数据集数据的格式:*输入格式(Informat):指示SAS系统如何读入数据。
*输出格式(Format):指示SAS系统如何输出数据。
第一章SAS系统简介它们的一般形式如下:*<¥>informat-name<w>.<d>*<¥>format-name<w>.<d>¥ 代表变量是字符型的informat-name 输入格式名format-name 输出格式名w 输入或输出的宽度. 必须的分隔符d 小数部分的长度第一章SAS系统简介•SAS系统提供的几种常用输入输出格式:w.d 标准的数字型格式¥w. 标准的字符型格式COMMAw.d 数字中加入逗号DOLLARw.d 数字中加入逗号,数字前加入¥DATEw. 日期格式BESTw. SAS选择最佳表示法此外,用户还可以自定义格式。
第五章: SAS软件对计算结果的编辑与打印SAS软件的计算结果一般都较长,往往有十余页甚至几十页之多。
为了便于阅读这份计算结果(LISTING)。
SAS软件里配备了相应的文件编辑指令,以及对输出结果的格式化指令,本章我们就向大家介绍这方面的内容。
—、标题与注脚:标题与注脚都是打印在每页计算结果上的说明性文字,用来解释SAS程式输出的数据处理结果。
它们作为SAS指令,可以既放在DATA 阶段的程式里,又放在PROC阶段程式中。
1.标题:标题的指令是TITLE ,后面应用引号把“标题”的全部内容括起来。
这条指令的一般形式是这样的:TITLE “用户定义的标题内容”;S AS软件规定一条标题最长可以包含132个字符(字母),每页标题最多可占据10行的空间。
当我们写下“TITLE”指令时,后面引号里的标题将会被印在每一页SAS程式计算结果的第一行上,当标题的内容过长或内容过多时,每页上第二行的标题应使用指令“TITLE2”,后面再用引号把第二行的标题内容括起来,如此类推,可以有“TITLE3”……。
当一个SAS程式里重新出现“TITLE”指令时,前面的“TITLE”指令会自动停止执行,而被新的“TITLE”指令的内容所替换。
如果在一个SAS程式里没有新的TITLE指令出现,原有的标题内容会重复印在每一页程式数据处理输出结果的首行上,直至最后一页。
而当用户想删去某一行的标题时,只需要在程式里简单的写下指令“TITLEn”(第n行)即可。
下面是几个“TITLE”指令的应用实例:TITLE“”;TITLE3 “”;2、注脚:SAS 程式注脚的指令是FOOTNOTE,注脚指令的使用原则与“TITLE”指令完全相同,只是它把注脚的内容印在每一页输出结果的最后—(n)行上。
下面是几个应用实例:FOOTNOTE “year 1997-1998”FOOTNOTE2 “Department of statistics”在每次输出结果的最后几行上,序号低的注脚将会被印在序号高的注脚上边。
第六章用SAS软件作统计分析本章我们将介绍如何利用SAS软件从事多种统计分析,比如计算分布频数,建立两个或多个变量的交叉表格,作统计描述,计算相关系数,以及作回归分析和方差分析等等。
我们先介绍关于计算分布频数和建立交叉表格的SAS指令。
一、用SAS程式计算分布频数和建立交叉表格:SAS软件的指令PROC PREQ,是专门用于计算分布频数,以及对单变量、双变量交叉和多变量交叉相适应的一般统计分析结果的子程式。
1.单变量的频数计算:频数分布计算指令PROC FREQ,属于SAS程式PROC部分中的指令,必须放在DATA部分的指令之后。
频数计算指令的一般表达式是这样的:TABLES 一个或一组被选定变量名单/B选择指令(可加可不加,通常不加) (可加可不加,视需要而定);选修** “A选择指令”的主要关键词是ORDER,其目的是使频数计算的结果按不同的标志排列打印,有下列几种主要指令可供用户选择:A选择指令意义ORDER=FREQ 按频数分布的大小从大到小排列ORDER=DATA 按数据的出现顺序排列PAGE 一页印一张表格.. (参Legros P48). **下面是一个单变量频数计算的指令实例:如: PROC FREQ; TABLES V1 V5-V10;程式执行后这条指令将产生V1,V5,V6,V7,V8,V9与V10,共七个变量的分变量频数表;在表上将给出以下计算结果:①每一个变量取值的分布频数(调查总体中对应于每一个变量值的样本个数)。
如变量V14,共有“.”,1,2,3四个取值;“.”的有1人,答“1”的有883人,答“2”的有15人,答“3”的有1人。
“. ,1,2,3”累计共900人,即调查总体含900人(参见Legros 附页P62)。
②每一个变量取值在总体中的分布频率。
如上例,答“.”的(拒答或nsp)有1人,其百分比为1/900*100%=0.1%;答“1”的有883人,占883/900*100%=98.1%;答“2”的有15人,占15/900*100%=1.7%;答“3”的有1人,占0.1%。
SAS讲义-第四课一、data语句例1 规定要创建的SAS数据集。
data; /*系统自动规定数据集名datan * /data a; /*创建临时数据集a */data ResDat .a; /*创建永久数据集resdat.a */data data1 data2; /*创建两个临时数据集data1和data2 */data _null_; /*特殊名,不创建SAS数据集,用于输出*/例2 数据集选项举例。
data new (drop=var1); /*去掉数据集new中变量var1*/ data new (keep=_numeric_); /*保留数据集new中所有数值变量*/ data new (label=’股本变动历史’);/*规定数据集new标签名为”股本变动历史”*/data new (rename=(var1=u var2=v)); /*将数据集new中变量var1和var2更名为u和v*/例3 观测子集的形成。
data year1998 year1999 year2000;set ResDat.stk000001 ;if year (date)=1998 then output year1998; /* year为函数名*/else if year (date)=1999 then output year1999;else if year (date)=2000 then output year2000;run;例中,根据条件产生三个观测子集,名字分别为year1998, year1999和year2000。
例4 变量子集的形成。
data open (keep=date oppr) close (keep=date clpr);set resdat.stk000001;run;二、set语句Set语句从一个或多个数据集中读取观测值并实现纵向合并。
每一个set语句被执行时,SAS就会读一个观测到PDV中。
SAS讲义-第八课上一节课介绍了SAS的观测值操作的关键词,这节课要完成介绍SAS变量操作的关键词。
SAS变量操作的关键词有:sum、keep、drop、length、rename、label(这些已经说过),以及retain、format、array。
这节课我们介绍retain、format,最后的array放到第十课来说,因为第九课我们还得先介绍循环语句,为了array 作铺垫。
一、retain语句我们知道data步中的data语句和run语句其实构成了一个循环语句。
一般情况下,系统每读一遍data步所有语句,pdv都会清空所有变量值,并置为缺失,然后根据执行语句,如赋值语句等,再次对变量进行赋值。
但是如果data步中使用retain语句,则pdv就不会清空retain语句对应的变量,而是一直保留直到下次该变量再次被执行。
语法格式:retain 变量初始值Retain var1-var4 (1 2 3 4);例1使用一个sum函数和一个retain语句代替累加语句。
(比较第六课例4)data b (keep=name height s_h);set resdat.class ;s_h=sum(s_h, height);retain s_h 0;run;例2缺失值填充。
需求是:如果在两个非缺失值之间存在缺失值,用前面的非缺失值填充,直到遇到下一个非缺失值为止。
data a;input id x @@;cards;1 102 103 .4 .5 206 .;data b;set a;retain new_x;if x ne . then new_x=x;run;分析:1)首先,程序编译后PDV存在三个变量:id;x;new_x,其中new_x 是retain变量,显然id和x在当前pdv里面,在所有程序还未执行之前,其值为缺失值。
new_x也是一样,但是如果在retain new_x语句后面加上一个初始化的值,比如零,则在pdv中new_x就应该是零,因此retain变量和非retain变量在程序编译之前本质上初始值是不一样的。
第一课SAS系统简介一.SAS系统1SAS系统的功能SAS系统是大型集成应用软件系统,具有完备的以下四大功能:●数据访问●数据管理●数据分析●数据呈现它是美国软件研究所(SAS Institute Inc.)经多年的研制于1976年推出。
目前已被许多国家和地区的机构所采用。
SAS系统广泛应用于金融、医疗卫生、生产、运输、通信、政府、科研和教育等领域。
它运用统计分析、时间序列分析、运筹决策等科学方法进行质量管理、财务管理、生产优化、风险管理、市场调查和预测等等业务,并可将各种数据以灵活多样的各种报表、图形和三维透视的形式直观地表现出来。
在数据处理和统计分析领域,SAS系统一直被誉为国际上的标准软件系统。
2SAS系统的支持技术在当今的信息时代中,如何有效地利用业务高度自动化所产生的巨量宝贵数据,挖掘出对预测和决策有用的信息,就成为掌握竞争主导权的关键因素。
因此,SAS系统始终致力于应用先进的信息技术和计算机技术对业务和历史数据进行更深层次的加工。
经过二十多年的发展,SAS系统现在是以下三种技术的主要提供者:●数据仓库技术(Data Warehouse)数据仓库是用于支持管理决策过程的面向主题的、集成的、随时间而变化的、持久的(非易失的)数据集合。
通俗的说,可以将数据仓库理解为“将多个生产数据源中的数据按一定规则统一集中起来,并提供灵活的观察分析数据手段,从而为企业制定决策提供事实数据的支持。
”数据仓库最大的用途是能够提供给用户一种全新的方式从宏观或微观的角度来观察多年积累的数据,从而使用户可以迅速地掌握自己企业的经营运转状况、运营成本、利润分布、市场占有率、发展趋势等对企业发展和决策有重要意义的信息,使用户能制定更加准确科学的决策迅速对市场做出反应。
利用数据仓库技术可以使大企业运作的像小企业一样灵活,也可以使小企业像大企业一样规范。
从目前情况来看,许多企业和机构已经建立了相对完善的生产数据库系统。
随着时间的推移,这些系统中积累了大量的历史数据,其中蕴含了许多重要的信息。
★第一章:SAS系统简介SAS文件及命名1、SAS数据集文件(后缀为sas7bdat)2、SAS程序文件(后缀为sas)3、SAS日志文件(后缀为log)4、SAS输出文件(后缀为list)★第二章:SAS数据集的分类临时数据集和永久数据集(一)临时数据集存放在work数据库中(二)永久数据集存放在永久数据库中,除了work数据库之外,其他的数据库都是永久数据库。
1、SAS文件的2级命名方式:目录.文件名2、使用Libname语句创建永久数据集,libname 自建目录名‘目录地址’;Libname例创建与读取永久数据库1、创建永久数据集永久数据集的扩展名是sas7bdat。
libname例:libname sasroom "d:\sasdata"; data sasroom.data1; input y $ x1 x2 x3@@; cards; run; proc print; run;2、读取永久数据集 read例libname sasroom "d:\sasdata"; data sasroom.data1; input y $ x1 x2 x3@@; cards;run;建立SAS数据集的5种方法1、用data步输入数据建立。
newdata例data newdata; input group $ x1 x2 x3; cards;2、利用infile语句从外部调入数据文件建立SAS数据集,注意:infile语句必须放在input3、利用“导入数据”功能建立。
(Excel例)4、利用EFI(external file interface)功能导入(classifydata例)。
5、data步利用set 语句建立。
(Set1例)查看SAS数据集的内容1、使用contents过程查看数据的相关信息。
Contents例proc contents data=数据集名 position;一、两个SAS数据集的合并1、两个SAS数据集的串接(set语句);set2例2、两个SAS数据集的并接(merge语句).二、变量值的排序(sort语句) sort例三、对变量的选择(drop语句和keep语句)。
第二章 SAS软件对数据文件变量的读取原始数据指的是录入存贮在计算机硬盘,卡片,磁盘或磁带等信息载体上的已编码数据。
在绝大多数情况下,这些数据是以数字符号编码的,有时也用“字符串”来编码。
我们在本章中,将介绍SAS软件对一个原始数据文件里变量的读取方式以及相关变量的建立方法。
我们先介绍SAS对一个数据文件定义变量的方法和要求。
一、SAS软件对数据文件读取变量的方法:INPUT指令是用来说明原始数据读取的先后顺序,并定义相应的变量的,如同我们前面讲过的那样,这是一个属于DATA类型的指令。
一个变量的读取和识别是通过标注与定义这个变量的名字来完成的,变量名最多只能占八个字符(字母或符号)的位置,而且第一个字符必须是一个字母或一个下横短线“_”的符号。
SAS程式中的变量名单是由一串连续的变量名所组成的,在每两个变量名之间必须到少要留有一个空格的空间。
如果变量数很多,而且在数据文件(矩阵)中他们是按逻辑顺序排列的(如姓名,性别,年龄,出生年月,地址,职业,身高,体重,受教育程度……),那么可以最后用数字来区分并定义变量名,其优点是仅使用一个(或多个)字母,后面加数字即可,便于在程式下面的读取与识别。
如:V1 V2 V3 V4 (V50)VAR1 VAR2 VAR3……VAR50等等。
更多简单及概括的方法是,我们仅“写”下首尾两端的两个变量名,并在中间用一个短横线把它们间隔开即可。
如:V1—V50VAR1—VAR50 等等。
如果变量名不是用数字来定义识别的,而是用字母组成的单词来命名的,我们在第一次读取及命名这些变量的时候,没有简写的方法,每一个变量要用一个单词或“字符串”来命名。
但在完成初次的定义之后,如果变量是在“SAS数据文件”中按其名字的先后顺序排列的,我们则可以在后面的重复读取时“写下”首尾两端的两个变量的名字,在两个变量名之间,再加上两道短横线“--”把它们分隔开即可。
如:我们初次定义以下变量:A name address revenue PROF(profession)在下次重新读取这些变量时,我们仅写下“A--PROF”即可。
SAS讲义-第⼆⼗课散布图、折线图和层次图第⼆⼗课散布图、折线图和层次图SAS系统中绘制散布图、折线图和层次图,使⽤PROC PLOT过程和PROC GPLOT过程。
PROC PLOT过程是⽤来画易⽣成的低分辩率的图形,输出在OUTPUT窗⼝。
⽽PROC GPLOT过程是⽤来⽣成定制的、⾼分辨率的图形,输出在GRAPH窗⼝,并且还可以对输出的图形进⾏编辑修改。
⼀.PROC PLOT过程使⽤PLOT过程可以在两个不同的坐标系中对两个变量作散布图、折线图、半对数图和层次图。
⽤于数据处理中,直观地了解数据的变化趋势和数据间的相互关系等。
它的⼀般形式为:Proc Plot DA TA=数据集 ;Plot 纵坐标变量Y*横坐标变量X……;Run ;1PROC PLOT语句PROC PLOT语句中的选项列表主要分成三类:有关图形的坐标轴选项、有关外观的选项和有关图形⼤⼩的选项。
其中图形⼤⼩的两个选项较为常⽤:●VPCT=百分⽐列表——规定产⽣图形在垂直⽅向占⼀页的百分⽐。
例如VPCT=33表⽰这张输出图占⼀页的33%,即占⼀页的1/3,所以⼀页可以纵向打印3张图。
VPCT=50 25 25表⽰每⼀页在纵向打印3张图,第⼀张占全页的⼀半,第⼆和第三张各占1/4页。
VPCT=200表⽰要求输出图占2页的长度。
●HPCT=百分⽐列表——规定产⽣图形在⽔平⽅向占⼀页的百分⽐。
2PLOT语句PLOT语句⾥⾸先要规定数据集中的哪两个变量作为图形中的垂直变量和⽔平变量,以及在图形中⽤于画点的作图字符。
PLOT语句的⼏种使⽤格式如下:plot y*x ;plot y*x =’+’;plot y*x=符号变量;plot y*x $ 标记变量=’+’;plot y*x=’+’b*a=’*’ /overlay;第⼀条语句作图符号⽤缺省形式,依此⽤英⽂⼤写字母A、B、C…Z作为作图符号。
当观测的条数较多时,低分辩率图不可能画出所有观测的点,所以当图中的某⼀点表⽰有⼀条观测的点时,⽤作图符号A;当图中的某⼀点表⽰有⼆条观测的点时,⽤作图符号B;以此类推。