SAS学习系列10. 合并数据集.doc

SAS学习系列10. 合并数据集.doc

ID:50617957

大小:288.32 KB

页数:11页

时间:2020-03-07

SAS学习系列10. 合并数据集.doc_第1页
SAS学习系列10. 合并数据集.doc_第2页
SAS学习系列10. 合并数据集.doc_第3页
SAS学习系列10. 合并数据集.doc_第4页
SAS学习系列10. 合并数据集.doc_第5页
资源描述:

《SAS学习系列10. 合并数据集.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、10.合并数据集一、用SET语句拼接合并数据集用SET语句可以把两个数据集拼接合并在一起,适用于两个数据集具有相同的变量。基本形式为:data新数据集名;set旧数据集1旧数据集2;注:(1)按原来顺序合并成新数据集(数据集1在上,2在下);(2)若一个数据集包含了另一个数据集没有的变量,那么合并后,该变量下将会出现缺省值。例1路径“C:MyRawData”下有关于娱乐公园南北门游客的数据South.dat和North.dat,都包括变量Entrance、PassNumber、PartySize、Age,后者多了一列Lot(停车):先分别读入数据

2、存为数据集再合并成一个新数据集,并创建了新变量,AmountPaid.代码:datasouthentrance;infile'c:MyRawDataSouth.dat';inputEntrance$PassNumberPartySizeAge;procprintdata=southentrance;title'SouthEntranceData';run;datanorthentrance;infile'c:MyRawDataNorth.dat';inputEntrance$PassNumberPartySizeAgeLot;procprin

3、tdata=northentrance;title'NorthEntranceData';run;databothentrance;setsouthentrancenorthentrance;ifAge=.thenAmountPaid=.;elseifAge<3thenAmountPaid=0;elseifAge<65thenAmountPaid=35;elseAmountPaid=27;run;procprintdata=bothentrance;title'BothEntrances';run;运行结果:注意:南门数据中缺少Lot数据,堆叠合并后

4、的观测值为缺省值。一、用SET+BY语句排序拼接合并数据集前面是保持数据集原有顺序直接拼接合并,根据需要新数据集可以作排序处理。但这样效率较低,更好的方法是先排好序再合并。基本形式:data新数据集名;set旧数据集1旧数据集2;by变量1变量2…;注:旧数据集必须是事先排好序的。例2同样是例1的数据,对PassNumber做排序拼接合并,注意南门数据已经按PassNumber排序。代码:datasouthentrance;infile'c:MyRawDataSouth.dat';inputEntrance$PassNumberPartySize

5、Age;procprintdata=southentrance;title'SouthEntranceData';run;datanorthentrance;infile'c:MyRawDataNorth.dat';inputEntrance$PassNumberPartySizeAgeLot;procsortdata=northentrance;byPassNumber;procprintdata=northentrance;title'NorthEntranceData';run;datasortbothentrance;setnorthen

6、trancesouthentrance;byPassNumber;run;procprintdata=sortbothentrance;title'BothEntrances,ByPassNumber';run;运行结果:一、一对一匹配合并数据集经常会遇到合并两个数据集,它们有共同的变量(其不同取值都是各出现一次),用MERGE语句可以将两个数据集按共同变量进行一对一匹配合并。注意:要求两数据集事先已按共同变量排序。基本形式:DATAnew-data-set;MERGEdata-set-1data-set-2…;BYvariable-list;注:(

7、1)BY语句指定共同变量;(2)若两个数据集有重叠的变量(除了BY指定的共同变量),第2个数据集中的变量将覆盖第1个数据集中的相同变量。例3路径“C:MyRawData”下有关于某巧克力店的数据,chocsales.dat记录了所卖的巧克力代码、数量;chocolate.dat记录了巧克力代码、所代表的类型、描述:读入数据,按共同变量“巧克力代码”匹配合并数据集。代码:datadescriptions;infile'c:MyRawDatachocolate.dat'TRUNCOVER;inputCodeNum$1-4Name$6-14Desc

8、ription$15-60;run;datasales;infile'c:MyRawDatachocsa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。