04数据集操作.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
04数据集操作

第4章 数据集操作 数据集合并 SET语句 SET语句从一个或多个已存在的SAS数据集中读取观测值,并将这些观测组合在一个数据集中。 语句格式: SET data-set-name-1(data-set-options-1) … data-set-name-n (data-set-options-n ) POINT=variable-name |KEY=index-name/UNIQUE NOBS=variable-name END=variable-name ; 一个DATA步中可以有多个SET语句,一个SET语句中可以有任个SAS数据集。 选项说明 应用举例 例4.1 选项说明若干举例。 规定临时变量选项Point=: data a; set ResDat.Idx000001; obs=_n_; data b (keep=obs date clpr); do n=3,5,7,4; set a point=n; /*读入数据集a中的第3,5,7,4观测 */ if _error_=1 then abort; output; end; stop; /*使用选项point=时,经常要用stop语句来终止data步的执行*/ proc print; run; 规定临时变量选项NOBS=: data a; do obsnum=1 to last by 20; /*临时变量为last */ set ResDat.stk000001 point=obsnum nobs=last; output; end; stop; run; 找数据集最后一个观测值更简单的方法: data a; set ResDat.stk000001 end=obs_last; if obs_last=1; run; 输出数据集的最后一个观测值: data a; set ResDat.stk000001 End=lastobs; if lastobs; x=lastobs; /*将临时变量lastobs的值赋给X*/ put last observation; run; 保留部分观测: data males; set ResDat.class; where sex=’M’; run; data males; set ResDat.class; if sex=’M’ then output; run; data males; set ReaDat.class; if sex^=’M’ then delete; run; 例4.6 相同变量的数据集连接。 data qttn; set ResDat.stk000001 ResDat.stk000002; run;? 例4.7 不同变量的数据集连接。 data a; set ResDat.class ResDat.stk000001; run; MERGE语句 MERGE语句将多个数据集中的观测合并为新数据集中的一个观测。SAS系统合并观测的方式依赖于BY语句的使用。 语句格式 MERGE data-set-name-1 (data-set-options) data-set-name-2 ( data-set-options) …data-set-name-n(data-set-options ) END=variable-name ; 选项说明 应用举例 例4.9 一对一合并 data a; merge ResDat.class ResDat.stk000001; run; 例中,一对一合并时,不需要BY语句。 例4.10 匹配合并 data a; merge ResDat.stk000001 (keep=date clpr rename=(clpr=clpr000001)) ResDat.stk000002 (keep=date clpr rename=(clpr=clpr000002)); by date; run; 例中,匹配合并必须有BY语句。 例4.11 使用数据集选(in=),选择股票代码为000001,200011,600601和900903的首次发行与上市数据。 Data stkcd; Input stkcd$6.; Cards; 000001 200011 600601 900903 ; Data Iissulst1; Merge Resdat. Iissulst stkcd(in=id); If id; /* 选择满足条件股票的首次发行与上市数据 */ Run; BY语句 数据步中,BY语句规定分组变量。用于控制SET,MERGE,UPDATE或

文档评论(0)

ay8088 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档