




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华院分析内部参考资料(SAS编程)SAS编程中SET命令的常用用法By 木杉2007/5/22一、 读入数据集:从现有的数据集读入数据(obs) ,下例中set将work.a的所有记录写入work.new ;其作用相当于复制数据集a:data new ;set a ;run;二、 合并数据集 :1、一个set的应用,纵向合并数据集 :a) 2个数据集的字段完全相同的情况下:数据集a:数据集b:data new1 ;set a b ;by custid;run;运行结果:数据集new1b) 2个数据集的字段不完全相同的情况下:数据集a:数据集b:data new2 ;set a b ;by custid;run;运行结果:数据集new2c) 2个数据集的字段完全不同的情况下:数据集a:数据集b:data new3 ;set a b ;run;运行结果:数据集new32、两个set的应用:用2个set进行数据集的拼接时,新生产数据集(new)的记录条数为2个数据集的最小值;a) 当2个数据集的字段都不相同情况下:新生产的数据集包含2个set数据集的所有变量,第2个set数据集(b)的变量排在第1个数据集(a)的右边,如下例:数据集a:数据集b:data new;set a;set b;run;运行结果:数据集newb) 当2个数据集有相同字段(custid)情况下:第2个数据集(b)custid的值覆盖第1个数据集(a)custid的值,新生产数据集new2一共包含2条记录,如下例:数据集a:数据集b:data new2;set a;set b;run;运行结果:数据集new2三、 Set命令的常用options :程序举例使用数据集:Data work.bbb;Input custid brand fee;Cards;1000123 1 3001000124 2 2001000134 3 5001000139 2 1001000213 3 200;Run;运行结果:Data work.ccc;Input custid brand fee ;Cards;1000126 1 9001000125 2 8001000127 1 2001000128 2 300;Run;运行结果:1、Keep的使用:仅把keep选定的变量写入新生成的数据集。Data work.aaa;Set work.bbb(keep=custid brand ) ;Run;运行结果:2、Drop 的使用:仅把除drop选定的变量以外的变量写入新生成的数据集。Data work.aaa;Set work.bbb(drop=fee ) ;Run;运行结果:3、rename 的使用:在读入数据集时对变量进行重命名。Data work.aaa;Set work.bbb( rename=(brand=brand_new ) ) ;Run;运行结果:4、Where的使用:仅把满足条件的记录写入新数据集。Data work.aaa;Set work.bbb(where=(brand=3 and fee =200 ) ) ;Run;运行结果:5、Firstobs和obs的使用:在下例中,set语句将work.bbb的第2条到第5条记录写入work.aaa。Data work.aaa;Set work.bbb(firstobs=2 obs=5 ) ;Run;运行结果:6、end的使用:end=var定义一个变量var表示一条记录是否为最后一条记录,变量var的值初始化为0,当遇到到最后一个数据集的最后一条记录时值为1。下例运行结果:仅将work.bbb的最后一条记录写入数据集work.fff,因此,wrok.fff只包含1条记录。data work.fff;set work.bbb end=last ;if last then output;run;运行结果:7、point的使用:point=var定义一个指针变量var;下例中定义指针变量i ,运行结果:读取work.ccc的第1和第3条记录写入work.fff。data work.fff;do i=1 to 4 by 2;set work.ccc point=i;output;end;stop;run;运行结果:8、nobs的使用:nobs=var定义一个变量,该变量的值是所有输入数据集记录条数的总和;下例中nobs=last定义一个变量last,其值等于work.bbb和work.ccc记录条数的总和。data work.aaa;do i=1 to last by 2 ;set work.bbb work.ccc point=i nobs=last;output;end;stop;run;运行结果:9In的使用:in=var 定义一个变量标识读入的一条记录来自哪个数据集,下列程序可实现两个数据集叠加起来之后生成一个新字段datasets_flag来表示记录的来源(数据集),便于筛选。Data aaa ; set bbb(in=a) ccc(in=b);if a=1 then datasets_flag=bbb;if b=1 then datasets_flag=ccc;run;运行结果:9、key的使用:key=index 根据定义的索引对数据集进行merge,下列程序根据索引custid进行merge,并生成一个标志flag来表示匹配是否正确。Data work.a( index=(custid) ) ;Input custid brand fee;Cards;1000123 1 3001000124 2 2001000134 3 5001000139 2 1001000213 3 200;Run;数据集a:Data work.b( index=(custid) ) ;Input custid time ;Cards;1000123 3001000125 4501000139 2601000213 370;Run;数据集b:data new ; set work.a ; s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 彩礼钱归还合同范本
- 销售合同范本图解
- 租空场地合同范本
- 夫妻之间借钱合同范本
- 冰箱电机转让合同范本
- 雨篷采购合同范本
- 场地玩具租赁合同范本
- 保安公司疫情合同范本
- 医院后勤岗位合同范本
- 电信bot业务合同范本
- 老年人生命教育
- 租车合同免责协议模板
- 院感相关法律法规知识培训
- 《化妆品生产工艺验证指南》
- T-CPHA 36-2024 煤炭矿石码头露天堆场堆料机洒水系统技术要求
- 绿色简约实拍杨善洲介绍
- 手术室护理术中低体温预防
- 高血压科普健康宣教课件
- 2025年上半年内蒙古森工集团公开招聘工勤技能人员605名易考易错模拟试题(共500题)试卷后附参考答案
- 电力系统自动化技术培训课件
- 真空断路器拆除施工方案
评论
0/150
提交评论