SAS讲义 第十二课拼接和合并数据集.doc_第1页
SAS讲义 第十二课拼接和合并数据集.doc_第2页
SAS讲义 第十二课拼接和合并数据集.doc_第3页
SAS讲义 第十二课拼接和合并数据集.doc_第4页
SAS讲义 第十二课拼接和合并数据集.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

4bf98902d02e23050b1745bb1a5488f0.pdf SAS系统和数据分析 电子商务系列第十二课 拼接和合并数据集数据集的连接是把两个或两个以上的数据集的观测连接成一个新的数据集。连接的方式有二种:拼接和合并。在SAS数据步中用SET语句可以拼接数据集,而用MERGE语句可以合并数据集。例如我们有二个数据集A和B,要拼接和合并成新的数据集C,二种不同方法的程序和结果见示意图121 所示:图121 数据集的两种连接方式:拼接和合并一. 数据集的拼接数据集的拼接可分成三种主要的拼接情况:1 相同变量的数据集拼接这是最简单的情况,在这种情况下,新生成的数据集就含有这些相同的变量,观测的数目是所有这些数据集的观测总和。例如数据集A和B都含有二个相同的变量COMMOM和X,且都有三条观测,见图122 所示:图122 含有相同的变量COMMOM和X的两个数据集用下面程序生成新数据集C有二个相同的变量COMMOM和X,6条观测。Data A ;Input common x ;Cards ; 9801 1 9802 2 9803 3Data B ;Input common x ;Cards ; 9801 4 9802 5 9803 6Data C ;Set A B ;Proc print data=C ;Run;拼接生成的新数据集C的结果见图123所示:图123 相同变量的数据集拼接结果2 不相同变量的数据集拼接图124 含有不相同的变量X和Y的两个数据集如果二个数据集A和B含有的变量不完全相同,如上例中数据集B含有的不是COMMON和X变量而是COMMON和Y变量,见图124所示。用SET语句拼接A和B数据集后,新生成的数据集C就含有三个变量COMMON、X和Y,观测的数目仍然是所有这些数据集的观测总和,但原数据集中没有的变量在拼接后新数据集中为缺失值。生成新数据集C的程序如下:Data C ;Set A B ;Proc print data=C ;Run ;图125 不相同变量的数据集拼接结果拼接生成的新数据集C的结果见图125所示:3 按关键字排序后拼接数据集如果要求新生成的数据集C按共同的关键字例如COMMON排序观测,那么预先要数据集A和B也已按COMMON关键字排序好了,可通过排序过程PROC SORT 和BY指明关键字。生成新数据集C的程序如下:Proc sort data= A ;By Common ;Proc sort data= B ;By Common ;Data C ;Set A B ;By Common ;Proc print data=C ;Run ;拼接生成的新数据集C的结果见图126所示:图126 按关键字排序后拼接的数据集结果 无论哪一种拼接形式,用SET语句拼接生成的新数据集的观测总数为原各输入数据集观测数之和。二. 数据集的合并数据集的合并是通过使用MERGE语句把两个或两个以上数据集中的两条观测或两条以上的观测合并为新生数据集中的一条观测。数据集的合并可分成二种主要的合并情况:l 一对一合并(不带BY语句)l 匹配合并(带有BY语句)1 一对一合并(不带BY语句)把一个数据集中的第一条观测同另外一个数据集中第一条观测合并,第二条观测同另外一个数据集中第二条观测合并,以此类推。新生成的数据集中的观测总数为这些数据集中观测个数的最大值。如果相对应的某个数据集已没有观测,则相应的变量值为缺省值。如果在几个数据集中有共同的变量,则在合并后新生成的数据集中只有一个变量,其值为列在MERGE语句中最后一个含有该变量的数据集中的观测值。例如我们有二个数据集A和B,见图127所示:图127 含有不相同的变量和相同变量不同值的两个数据集生成新数据集C的程序如下:Data C ;Merge A B ;Proc print data=C ;Run ;图128 一对一合并(不带BY语句)后的结果合并的新数据集C的结果见图128所示:2 匹配合并(带有BY语句)如果想把两个或两个以上的数据集按照相同的关键字值合并,则在MERGE语句后面要用BY跟关键字语句。且每一个数据集必须预先按关键字排序好。如果两个数据集中观测的关键字值不匹配,输出所有这些观测,相应的新增变量的值为缺省值。如果两个数据集中观测的关键字值是多对多匹配,要注意新生成的数据集中相同关键字值的观测数为各数据集中这个关键字值的观测数的最大值,相同关键字值的观测按顺序一对一合并,无论哪一个数据集中这个相同关键字值的观测没有了,都取这个相同关键字值的最后一条观测继续合并。例图129 定单数据集ORDERS和产品数据集PRODUCTS如我们有一个定单数据集ORDERS和一个产品数据集PRODUCTS,见图129所示:要合并生成一个新的定单销售数据集SALES的程序如下:Proc sort data= ORDERS ;By P_ID ;Proc sort data= PRODUCTS ;By P_ID ;Data SALES ;Merge ORDERS PRODUCTS ;By P_ID ;Proc print data=SALES ;Run

温馨提示

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

评论

0/150

提交评论