第五部分sas数据步循环和转移控制.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五部分sas数据步循环和转移控制;DO语句 ;简单DO语句 ;应用举例 ;循环DO语句 ;SPECIFICATION选项格式 ;例8.2 缺省的步长为1。 do I=1 to 1000; do I=1 to y+3; do I=1 to exit;;例8.3 起始值例句。 do i=5; do i=1 to n ; do i=n to 1 by –1; do i=k+1 to n-1; do i=1 to k-1, k+1 to n; do i=2, 3, 5, 7, 11, 13, 17; do i= to by , 1 to 10 by 1, 20 to 100 by 10; do i='saturday', 'sunday'; do i='01jan99'd, '25feb99'd; do i='01jan99'd to '01jan2000'd by 1; 例句子中,起始值必须全部是数值或全部是字符常数,也可以是变量。字符常数必??用引号括起来。 ;例8.4 使用表达式选项。 do i=1 to 10 while(x<y); do i=2 to 20 by 2 until((x/3)>y); do i=10 to 0 by –1 while(month='jan');;应用举例 ;例8.6 产生指定观测值个数的数据集。 data a; do n=1 to 100 ; output; end; run; 例中,产生一个含有100个观测值的数据集。 ;例8.7 自然数求和。 data a; t=0; do n=1 to 100 ; t=t+n; output; end; run; 例中,求1到100的自然数之和。 ;DO OVER语句 ;应用举例 ;DO WHILE语句 ;应用举例 ;DO UNTIL语句 ;应用举例 ;END语句 ;应用举例 ;SELECT语句 ;应用举例 ;例8.14 没有SELECT表达式的SELECT语句。 data _null_; do mon='jan','feb','mar','apr','may','jun','jul','aug','sep'; select; when (mon in ('jun','jul','aug')) put 'summer ' mon=; when (mon in ('mar','apr','may')) put 'spring ' mon=; otherwise put 'fall or winter' mon=; end; end; run; ;361 data _null_; 362 do mon='jan','feb','mar','apr','may','jun','jul','aug','sep'; 363 select; 364 when (mon in ('jun','jul','aug')) put 'summer ' mon=; 365 when (mon in ('mar','apr','may')) put 'spring ' mon=; 366 otherwise put 'fall or winter' mon=; 367 end; 368 end; 369 run; fall or wintermon=jan fall or wintermon=feb spring mon=mar spring mon=apr spring mon=may summer mon=jun summer mon=jul summer mon=aug fall or wintermon=sep NOTE: “DATA 语句”所用时间(总处理时间): 实际时间 0.03 秒 CPU 时间 0.01 秒;例8.15 SELECT组的正确及错误用法举例。 select(x); when (x=2) put 'two'; /*错误用法*/ end; select(x); when(2) put 'two'; /*正确用法*/ end; select; when (x=2) put 'two'; /*正确用法*/ end; run; 例中,后两个程序的效果相同。 ;IF语句;子集IF语句 ;例8.17 应用举例。 data a; set ResDat.Idx000001; if _n_<100; run; 例中,选择前99条观测值。;GO TO语句与语句标号 ;例8.18 应用举例。 data a; input x @@; if 1<=x<=5 then goto ok; put x; count+1; ok: sumx+x; cards; 1 2 7 2

文档评论(0)

smartxiaohuli + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档