SAS——第12讲 合并SAS数据集_第1页
SAS——第12讲 合并SAS数据集_第2页
SAS——第12讲 合并SAS数据集_第3页
SAS——第12讲 合并SAS数据集_第4页
SAS——第12讲 合并SAS数据集_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

.,1,合并SAS数据集,“生成SAS数据集”介绍了如何从不同来源的原始数据生成SAS数据集。如果我们需要对已存在的SAS数据集进行加工,如复制数据集,对多个数据集串接或并接为新的数据集,修改数据集中的数值等等,则可以用本节将介绍的一些语句来完成这些功能。,.,2,A,B,AB,AB,SAS数据步,数据串接,SAS数据集,SAS数据集,数据并接,.,3,串接SAS数据集-简单连接,NUMVARA1A12A25A3,串接(Concantenate),A:,B:,NUMVARAVARB1A12A25A33B14B26B3,COMBINE:,NUMVARB3B14B26B3,把第二个数据集B的观测串接在第一个数据集A的所有观测后面,.,4,NUMVARB3B14B26B3,串接SAS数据集-插入式连接,NUMVARA1A12A25A3,串接(Interleave),A:,B:,NUMVARAVARB1A12A23B14B25A36B3,COMBINE:,按两个数据集A和B的共同变量NUM的值排次序后串接在一起,.,5,DATASAS-data-set;SETSAS-data-set1SAS-data-set2.;其它SAS语句;RUN;,用SET语句串接SAS数据集(Concatenate):,.,6,NUMVARA1A12A25A3,DATACOMBINE;setAB;run;,A:,B:,NUMVARAVARB1A12A25A33B14B26B3,COMBINE:,NUMVARB3B14B26B3,(sasLan51.sas),.,7,DATASAS-data-set;SETSAS-data-set1SAS-data-set2.;BYVariables;其它SAS语句;RUN;,插入式串接SAS数据集,用SET语句插入式串接SAS数据集(Interleave),.,8,NUMVARB3B14B26B3,插入式串接SAS数据集,NUMVARA1A12A25A3,DATACOMBINE;SETAB;BYNUM;run;,A:,B:,NUMVARAVARB1A12A23B14B25A36B3,COMBINE:,(sasLan52.sas),.,9,用PROCSORT语句对SAS数据集排序:,PROCSORTDATA=SAS-dat-set1OUT=SAS-dat-set2;BYby-variables;RUN;,用插入式串接时要求这几个数据集已按by变量排好序.如果还没有排好序,必须先用SORT过程排序.,.,10,NUMVAR1C12C22C33C4,NUMVAR2D13D23D3,datacombine;setCD;bynum;run;,C:,D:,NUMVAR1C12C22C32D13C43D23D3,COMBINE:,(sasLan53.sas),.,11,并接SAS数据集-匹配合并,NUMVARA1A12A23A3,NUMVARB1B12B24B3,并接(MatchMerge),A:,B:,NUMVARAVARB1A1B12A2B23A34B3,COMBINE:,按两个数据集A和B的共同变量NUM的相同值匹配合并,.,12,并接SAS数据集,用MERGE语句合并SAS数据集,DATASAS-data-set;MERGESAS-data-set1SAS-data-set2;BYby-variables;其它SAS语句;RUN:,MERGESAS-data-set1(In=var)SAS-data-set2(In=var);,.,13,NUMVARA1A12A23A3,NUMVARB1B12B24B3,DATACOMBINE;mergeAB;bynum;run;,A:,B:,NUMVARAVARB1A1B12A2B23A34B3,COMBINE:,(sasLan54.sas),.,14,NUMVARA1A12A23A3,NUMVARB2B12B23B3,DATACOMBINE;mergeAC;bynum;run;,A:,C:,NUMVARAVARB1A12A2B12A2B23A3B3,COMBINE:,(sasLan55.sas),.,15,合并SAS数据集一些补充,在DATA步中使用SET语句读入多个数据集,除Keep,Drop等一些选项外,还可用选项IN=来检测记录取自哪个数据集。一般用法:SET.数据集k(IN=变量k).;这时在PDV(程序数据向量)中产生内部变量k:变量k=1,当记录来自数据集k,变量k=0,当记录来自其它数据集。,.,16,VARA1A2,VARB1B2,A:,B:,datacombine;seta(in=ina)b(in=inb);run;,_N_VARINAINB1A1102A2103B1014B201,程序数据向量PDV:,.,17,DATACOMBINE1;mergeA(in=ia)B(in=ib);bynum;ifia=1andib=1;/*或ifiaandib;*/run;,例1:合并后保留两个数据集都有数据的观测.,例2:合并后只保留第一个数据集中的观测.,DATACOMBINE;mergeA(in=ia)B(in=ib);bynum;ifia;/*或ifia=;*/run;,(sasLan54.sas),.,18,datamma;inputname$sex$num;cards;FarrM1351CoxF2512RuthM3131BondM3551;,例:临时变量FIRST.var和LAST.var.在DATA步,SAS系统对每个BY组生成两个临时变量FIRST.var和LAST.var,用于区分每个BY组中的第一个观测和最后一个观测.这两个临时变量对DATA步编程是很有用的.,datammb;inputnum;doqtr=1to4;inputsales;output;end;cards;1351101214202512.1012313114101022355111131420;,.,19,DATACOMB(drop=qtrsales);mergemma(in=ia)mmB(in=ib);bynum;ifia=1andib=1;iffirst.numthensalesum=0;salesum+sales;iflast.num=1;run;(sasLan56.sas),数据集mma包含个变量:名字name,性别sex和代号num;数据集mmb也包含3个变量:代号num,季度qtr和销售额sales.要求合并后生成数据集comb包含个变量:名字na

温馨提示

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

评论

0/150

提交评论