SAS系统数据管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《SAS系统数据管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAS 系统 数据管理 课件
- 资源描述:
-
1、第第15章章 数据管理数据管理清华大学经管学院清华大学经管学院 朱世武朱世武ZResdat样本数据:样本数据:SAS论坛:论坛: SAS系统提供的过程按其用途可分为四大类: 数据管理; 基础统计; 数据呈现; 数据访问。 和任何一种编程语言一样,SAS 系统有一些数据管理过程,用于实现常用的中间操作或数据转换。 本章将介绍的数据管理过程:本章将介绍的数据管理过程: 数据集排序; 数据集转置; 改变输出地点; 添加观测; 数据库复制。数据集排序数据集排序 利用SAS的排序过程可以对数据集中的观测重新排序。SAS许多和BY配合使用的语句,如对数据集进行合并的语句或更新语句等,使用前必须先对BY变量
2、进行排序。 排序过程句法排序过程句法PROC SORT ; BY variable-1 . variable-n; PROC SORT语句语句 PROC SORT ;选项说明: DATA=规定被排序数据集,缺省时为最新创建数据集OUT=创建输出数据集,省略时用排序后数据集替换原数据集ASCII规定按ASCII排序SWEDISH规定按Swedish排序NATIONAL规定按习惯排序FORCE强行实施多余排序其中:其中:选项选项FORCE强行实施多余排序。排序并替换原来加索引的或取子强行实施多余排序。排序并替换原来加索引的或取子集的数据集,即没有规定集的数据集,即没有规定OUT=选项时,如果没有规
3、定选项时,如果没有规定FORCE,就不能对有索引的数据集进行排序和替换。就不能对有索引的数据集进行排序和替换。 没有规定OUT=选项时必须使用FORCE的选项有: OBS=系统选项; FIRSTOBS=系统选项; DATA=数据集中的数据集选项WHERS=; PROC SORT 步用WHERE语句。BY语句语句 BY variable-1variable-n;PROC SORT中必须使用BY语句,BY语句中可以规定任意多个变量。BY语句中规定多个变量时,SORT过程首先按第一个变量排序,然后是第二个变量等。BY语句中可以规定的选项:DESCENDING对变量按下降次序排序。 应用举例应用举例
4、例15.1 按多变量排序。data a;set ResDat.Idx000001;year=year(date);qtr=qtr(date);month=month(date);proc sort data=a out=b;by year qtr month;run;例中,对上证数据Idx000001按年、季和月排序。 例15.2 按单变量降序排列。 proc sort data= ResDat.a600001 out=a; by descending clpr; proc print data=a (obs=3) noobs; var date clpr; run; 例中,按收盘价CLPR的
5、降序排列。数据集转置数据集转置 转置就是把数据集的观测变为变量,变量变为观测。利用SAS的转置过程可以对数据集进行转置。 转置过程句法转置过程句法 PROC TRANSPOSE ; BY variable-1 . variable-n ; COPY variable(s); ID variable; IDLABEL variable; VAR variable(s); 语句说明: BY规定对每个BY组求转置,BY变量包含在输出数据集中但没有被转置COPY将没有转置的变量直接拷贝到输出数据集中ID规定输入数据集中一个变量。其值为转置后数据集的变量名IDLABEL规定被转置变量的标签VAR列出要转
6、置的变量PROC TRANSPOSE 语句语句 PROC TRANSPOSE ;选项说明: VAR语句和语句和ID语句语句 VAR语句VAR variable-list;VAR语句列出要转置的变量。没有VAR语句时,则没有列在其它语句里的所有数值变量被转置。ID语句ID variable;ID语句规定输入数据集中一个变量。ID变量的值为转置后数据集的变量名。在没有选项LET时,ID变量的值在数据集中只能出现一次,使用BY语句,BY组内只包含最后的ID值。应用举例应用举例 例15.4 ID变量的值为转置后数据集的变量名。proc transpose data=ResDat.class out=a
7、 let;id name;proc print;run;例中,原数据集CLASS中变量NAME的值为转置后数据集A的变量名,对所有数值变量转置。数据集A中还有一变量_NAME_. SAS 系统 1 2007年03月07日 星期五 下午09时21分17秒 Obs _NAME_ Alice Barbara Carol Jane Janet Joyce Judy Louise Mary Alfred 1 Age 13.0 13.0 14.0 12.0 15.0 11.0 14.0 12.0 15.0 14.0 2 Height 56.5 65.3 62.8 59.8 62.5 51.3 64.3 5
8、6.3 66.5 69.0 3 Weight 84.0 98.0 102.5 84.5 112.5 50.5 90.0 77.0 112.0 112.5 Obs Henry James Jeffrey John Philip Robert Ronald Thomas William 1 14.0 12.0 13.0 12.0 16 12.0 15 11.0 15.0 2 63.5 57.3 62.5 59.0 72 64.8 67 57.5 66.5 3 102.5 83.0 84.0 99.5 150 128.0 133 85.0 112.0例15.5 BY组内最后一个ID值的观测被转置。p
9、roc transpose data=ResDat.class out=a let;id sex;proc print;run;结果显示:Obs_NAME_FM1Age15152Height66.566.53Weight112112proc transpose data=ResDat.class out=a let;id sex;by sex;proc print;run;结果显示:ObsSex_NAME_FM1FAge15.2FHeight66.5.3FWeight112.4MAge.155MHeight.66.56MWeight.112例15.8 对每个BY组转置。options noda
10、te pageno=1 linesize=80 pagesize=40;proc transpose data=ResDat.fishdata out=fishlength(rename=(col1=Measurement);var length1-length4;by location date;run;proc print data=fishlength noobs;title Fish Length Data for Each Location and Date;run; Fish Length Data for Each Location and Date 1 Location Dat
11、e _NAME_ Measurement Cole Pond 02JUN95 Length1 31 Cole Pond 02JUN95 Length2 32 Cole Pond 02JUN95 Length3 32 Cole Pond 02JUN95 Length4 33 Cole Pond 03JUL95 Length1 33 Cole Pond 03JUL95 Length2 34 Cole Pond 03JUL95 Length3 37 Cole Pond 03JUL95 Length4 32 Cole Pond 04AUG95 Length1 29 输出窗口显示例例15.10 对转置后
12、的数据集作统计分析。对转置后的数据集作统计分析。options nodate pageno=1 linesize=80 pagesize=40;data split;set ResDat.weights;array s7 s1-s7;subject + 1;do Time=1 to 7;strength=stime;output;end;drop s1-s7;run;proc print data=split(obs=15) noobs;title Split Data Set;title2 First 15 Observations Only;run;/*接左侧*/proc transpos
13、e data=split out=totsplit prefix=Str;by program subject;copy time strength; var strength;run;proc print data=totsplit(obs=15) noobs;title Totsplit Data Set;title2 First 15 Observations Only;run;改变输出地点改变输出地点 缺省情况下,SAS过程输出到OUTPUT窗口,SAS日志输出到LOG窗口。利用SAS的PRINTTO过程可以设定SAS过程和日志的输出地点。PRINTTO过程有以下功能: 改变过程输出的
14、目的地; 改变SAS日志输出的目的地; 有选择地限制SAS输出; 将输出结果存放在永久文件中; 将输出直接送到打印机上; 将SAS的输出作为输入数据(这时需要一些附加的程序语句)。PRINTTO过程句法过程句法 PROC PRINTTO ;选项说明 注意:一般情况下,PROC PRINTTO后面一定要加RUN语句。若省略RUN语句,则会丢失PRINTTO后面DATA步或PROC步第一行的输出。 没有选项恢复缺省时的输出目的地LABEL=给存贮在SAS目录册中SAS日志或输出结果加说明标签LOG=将SAS日志输出到外部永久文件或SAS目录册中LOG=and PRINT=将SAS日志和运行结果输出
15、到一个文件中NEW替换原输出文件PRINT=将运行结果输出到外部永久文件或SAS目录册中UNIT=将结果直接输出到文件标记为FTnnF001的文件中应用举例应用举例 例15.11 将SAS日志输出到外部永久文件。proc printto log= d:log.dat; /*直接输出到永久文件中*/filename f1 d:out.txt;proc printto log= f1; /*输出到文件标记*/ 例15.12 将运行结果输出到外部永久文件。filename f2 d:out.list;proc printto print=f2; /*输出到文件标记*/proc printto pri
16、nt= d:out.list; /*直接输出到永久文件中*/例15.13 直接打印输出结果。filename f printer;proc printto print=f;/*直接打印*/proc printto print=print;/*返回到缺省输出地点*/ 例15.14 替换原输出文件。proc printto print=d:out.txt log= d:log.dat new;proc print data=ResDat.class;run;添加观测添加观测 利用SAS的APPEND过程可以将一个SAS数据集的观测添加到另一个SAS数据集的后面。APPEND过程句法过程句法 PRO
17、C APPEND BASE=SAS-data-set ; APPEND过程中只需要一个语句。 选项说明: BASE=| OUT=规定基本数据集的名子DATA=| NEW=规定要添加在基本数据集后面的数据集名,缺省时使用最近创建的SAS数据集FORCE强迫PROC APPEND连接两数据集应用举例应用举例 例15.17 有条件添加数据。proc append base=data1 data=data2(where=(X=1);run;proc append base=a data= ResDat.stk000001(where=(year(date)=1999) ;run;例中,使用数据集选项W
18、HERE=或WHERE语句来限制DATA=的数据集中只有满足条件的观测被加到BASE=的数据集中。数据库复制数据库复制 利用SAS的COPY过程可以复制整个SAS数据库或其中的数据库成员。 COPY过程句法过程句法 PROC COPY OUT=libref-1 IN=libref-2 MOVE ; EXCLUDE SAS-file(s) ; SELECT SAS-file(s) / ; 子语句说明: Select规定要拷贝数据库IN=中的成员; Exclude规定不拷贝数据库IN=中的成员。 PROC COPY语句选项语句选项 选项说明: IN|INLIB|INDD=规定被拷贝的SAS数据库,
19、此项必须规定OUT|OUTLIB|OUTDD=规定拷贝数据库,此项必须规定MEMTYPE|MTYPE|MT=规定被拷贝或移动成员的类型MOVE移走IN=数据库中的相应成员ALTER=移动一个可改变保护的成员时,要写上原来的改变访问口令INDEX=YES/NO规定拷贝数据集时是否拷贝该数据集的索引。缺省时INDEX=YES有效的成员类型(MEMTYPE): ALL所有成员,缺省值ACCESSSAS/ACCESS软件创建的存取文件CATALOG目录DATA数据集PROGRAM程序VIEW视图应用举例应用举例 例15.18 两个SAS逻辑库之间复制数据集和目录册。proc copy in=lib1
20、out=lib2 MTYPE=(data catalog);run; 例15.19 将逻辑库LIB1的所有SAS文件移动到LIB2中。proc copy in=lib1 out=lib2 move;run;例15.21 选择以DAT开头的所有文件。data ResDat.dat ResDat.dat1 ResDat.dat2 ResDat.dat3 (alter=zsw);var=move;run;proc copy in=ResDat out=work move;select dat: (alter=zsw);run; 极大似然估计法极大似然估计法(maximum likelihood, M
21、L),是不同是不同于最小二乘法的另一种参数估计方法,是从极大似然原理于最小二乘法的另一种参数估计方法,是从极大似然原理发展起来的其他估计方法的基础。虽然其应用没有最小二发展起来的其他估计方法的基础。虽然其应用没有最小二乘法普遍,但在计量经济学理论上占据很重要的地位,因乘法普遍,但在计量经济学理论上占据很重要的地位,因为极大似然原理比最小二乘原理更本质地揭示了通过样本为极大似然原理比最小二乘原理更本质地揭示了通过样本估计母体参数的内在机理,计量经济学理论的发展更多的估计母体参数的内在机理,计量经济学理论的发展更多的是以极大似然估计原理为基础的,对于一些特殊的计量经是以极大似然估计原理为基础的,对
22、于一些特殊的计量经济学模型,只有极大似然方法才是很成功的估计方法。济学模型,只有极大似然方法才是很成功的估计方法。 EViews包含了一些常用方法,如最小二乘法、非线性包含了一些常用方法,如最小二乘法、非线性最小二乘法、加权最小二乘法、最小二乘法、加权最小二乘法、TSLS、GMM、ARIMA、ARCH、GARCH等方法,这些方法可以解决可能遇到的大等方法,这些方法可以解决可能遇到的大多数估计问题。但是,我们在研究中也可能会碰到一些不多数估计问题。但是,我们在研究中也可能会碰到一些不在上述之列的特殊的模型,这些模型可能是现存方法的一在上述之列的特殊的模型,这些模型可能是现存方法的一个扩展,也可能
23、是一类全新的问题。个扩展,也可能是一类全新的问题。 为了能解决这些特殊的问题,为了能解决这些特殊的问题,EViews提供了提供了这一工具来估计各种不同类型的模型。对数这一工具来估计各种不同类型的模型。对数极大似然估计对象提供了一个一般的,开放的工具,可以极大似然估计对象提供了一个一般的,开放的工具,可以通过这个工具极大化相关参数的似然函数对一大类模型进通过这个工具极大化相关参数的似然函数对一大类模型进行估计。行估计。 使用对数极大似然估计对象估计时,我们用使用对数极大似然估计对象估计时,我们用EViews的序列生成器,将样本中各个观测值的对数似然贡献描述的序列生成器,将样本中各个观测值的对数似
24、然贡献描述为一个未知参数的函数。可以给出似然函数中一个或多个为一个未知参数的函数。可以给出似然函数中一个或多个参数的解析微分,也可以让参数的解析微分,也可以让EViews自动计算数值微分。自动计算数值微分。EViews将寻找使得指定的似然函数最大化的参数值,并将寻找使得指定的似然函数最大化的参数值,并给出这些参数估计的估计标准差。给出这些参数估计的估计标准差。 在本章,我们将详细论述对数极大似然估计对象,在本章,我们将详细论述对数极大似然估计对象,说明其一般特征。并给出了一些可以使用该方法的具体的说明其一般特征。并给出了一些可以使用该方法的具体的例子。例子。 设总体的概率密度函数为设总体的概率
25、密度函数为P,其类型是已知的,但含有未其类型是已知的,但含有未知参数(向量)知参数(向量) 。我们的目的就是依据从该总体抽得的随机我们的目的就是依据从该总体抽得的随机样本样本 y1, y2, , yT ,寻求对寻求对 的估计。的估计。 观测值观测值 y1, y2, , yT 的的联合密度函数被给定为联合密度函数被给定为 (8.1.1)其中:其中:y = ( y1, y2, , yT ) 。将这一联合密度函数视为参数将这一联合密度函数视为参数 的函数,称为样本的似然函数(的函数,称为样本的似然函数(likelihood function)。)。TttyPL1)();(y 极大似然原理就是寻求参数
展开阅读全文