08数据步循环与转移控制
更新时间:2023-07-27 18:12:01 阅读量: 实用文档 文档下载
- 数据错误 循环推荐度:
- 相关推荐
朱世武SAS教程(精品)
第8章 数据步循环与转移控制清华大学经管学院 朱世武 Zhushw@ Resdat样本数据: SAS论坛:
朱世武SAS教程(精品)
DO语句 DO语句必须由一个END语句来结束。 DO和END语句之间的这些语句称为一个DO组。 DO组可以嵌套任意次。 DO语句有5类: 简单DO语句; 循环DO语句; DO OVER语句; DO WHILE语句; DO UNTIL语句。
朱世武SAS教程(精品)
简单DO语句语句格式 DO; [一些SAS语句] END;
朱世武SAS教程(精品)
应用举例例8.1 IF/THEN语句用中DO. data a; set ResDat.class; if age>14 then do; h_cm=30.5*height/12; put name= sex= age= h_cm=; end; run;
朱世武SAS教程(精品)
329 330 331 332 333 334 335
data a; set fdata.class; if age>14 then do; h_cm=30.5*height/12; put name= sex= age= h_cm=; end; run;
Name=Janet Sex=F Age=15 h_cm=158.85416667 Name=Mary Sex=F Age=15 h_cm=169.02083333 Name=Philip Sex=M Age=16 h_cm=183 Name=Ronald Sex=M Age=15 h_cm=170.29166667 Name=William Sex=M Age=15 h_cm=169.02083333 NOTE: 从数据集 FDATA.CLASS 读取了 19 个观测。 NOTE: 数据集 WORK.A 有 19 个观测和 6 个变量。 NOTE: “DATA 语句”所用时间(总处理时间): 实际时间 0.01 秒 CPU 时间 0.01 秒
上例与下面的if语句效果一样,但是IF语句效率较低。 If age>14 then H_cm=30.5*height/12; If age>14 then Put name= sex= age= h_cm=;
朱世武SAS教程(精品)
循环DO语句DO组中的语句需要被重复执行时要用到循环DO语句。 循环DO语句根据下标变量重复执行DO和END语句之间的语句 语句格式 DO index_variable=specification-1<,…specification-N>; [一些SAS语句] END; 其中: index-variable选项定义下标变量,用于控制DO组的执行方式和重 复次数。 下标变量包含在创建的数据集中,可以用DROP语句删除。
朱世武SAS教程(精品)
SPECIFICATION选项格式Start <TO stop> <BY increment> <WHILE/UNTIL(expression)>; Specification选项说明:Start To Stop Increment While Expression Until Expression 规定下标变量的起始值 规定下标变量的终止值 规定步长 表达式在每次循环执行前计算 表达式在每次循环执行以后计算
朱世武SAS教程(精品)
例8.2 缺省的步长为1。 do I=1 to 1000; do I=1 to y+3; do I=1 to exit;
朱世武SAS教程(精品)
例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=0.1 to 0.9 by 0.1, 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; 例句子中,起始值必须全部是数值或全部是字符常数,也可以是 变量。字符常数必须用引号括起来。
朱世武SAS教程(精品)
例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');
朱世武SAS教程(精品)
应用举例例8.5 用GO TO语句跳出循环体。data a; input x y; if x>y then goto skip; /*skip是循环体外 的语句标号*/ y=log(y-x); yy=y-20; skip: if y<0 then do; 数据集a put x= y=; z=log(x-y); x y end; 1 2 1.3862943611 cards; 2
6 2 5 3 53 5 -1 3 5 -1
yy
z
-18.61370564 . . . . 1.7917594692
;
朱世武SAS教程(精品)
LOG窗口显示:336 337 338 339 340 341 342 343 344 345 data a; input x y; if x>y then goto skip; /*skip是循环体外的语句标号*/ y=log(y-x); yy=y-20; skip: if y<0 then do; put x= y=; z=log(x-y); end; cards;
x=5 y=-1 NOTE: 数据集 WORK.A 有 3 个观测和 4 个变量。 NOTE: “DATA 语句”所用时间(总处理时间): 实际时间 0.04 秒 CPU 时间 0.01 秒
349 ; 350 run;
朱世武SAS教程(精品)
例8.6 产生指定观测值个数的数据集。 data a; do n=1 to 100 ; output; end; run; 例中,产生一个含有100个观测值的数据集。
朱世武SAS教程(精品)
例8.7 自然数求和。 data a; t=0; do n=1 to 100 ; t=t+n; output; end; run; 例中,求1到100的自然数之和。
朱世武SAS教程(精品)
例8.9 用循环DO语句处理数组。 array day{7} d1-d7; /*定义数组day{7} */ do i=1 to 7; if day{i}=99 then day{i}=100; end; 例中,用循环DO语句处理数组时,便于进行批量更新。
朱世武SAS教程(精品)
DO OVER语句DO OVER语句对隐含下标数组元素执行DO组里的语 句。 语句格式 DO OVER array-name; [若干SAS语句] END; 其中: 选项array-name规定一个隐含下标数组。
朱世武SAS教程(精品)
应用举例例8.10 隐含数组的所有元素乘以100。 data test; input sc01-sc05; array s sc01-sc05; do over s; /*等价于do _i_=1 to 5 */ s=s*100; end; cards; .95 .88 .99 .77 .56 ; run;
sc01 1 95
sc02 88
sc03 99
sc04 77
sc05 56
朱世武SAS教程(精品)
DO WHILE语句DO WHILE语句使得当条件成立时重复地执行DO组中 的语句。 语句格式 DO WHILE (expression); 选项expression规定任一有效表达式。
朱世武SAS教程(精品)
应用举例例8.11 当N值小于5时重复执行DO组中的语句。 data a; n=0 ; do while(n lt 5); put n=; n+1; end; run;
正在阅读:
08数据步循环与转移控制07-27
现金日记账样本02-07
七年级科学地球上的生物测试题03-08
小学生关于雾霾的作文(最新)06-14
生物化学王镜岩(第三版)课后习题解答全10-30
《中小学生社团实践探索研究》课题结题报告08-16
南宁市2004年中考物理试题(16开)06-17
关于雾霾的作文800字7篇02-06
2015浙大远程管理统计学在线作业09-04
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 循环
- 转移
- 控制
- 数据
- 上海市船舶检验处注册验船师考试试题(B级)20100912已编辑
- 2011年春季体育教研组工作计划
- “Unseen Splash”未发现的精彩——C企业奥运公关策划案
- 富士康模具考试资料
- 新人教版高中英语必修3单词及语言点总结及练习
- 援藏干部先进事迹材料
- 人教版七年级上册第一次月考数学试题及答案
- 师德师风整改报告
- 体育继续教育心得体会
- 在统战系统暨新任职党外干部培训班讲话
- 活期储蓄账目管理 代码
- 广东海洋大学体育馆管理系统鲁棒性分析v1.0
- 重庆农村商业银行在线学习答案目标管理
- 武山县草原监理工作总结
- 运用现代化手段提高民主党派参政议政水平
- 保险公司营销计划书
- JAVA冒泡、插入、选择排序算法
- 蜜雪冰城营销策划书
- 《中国近代史纲要》课后习题和答案
- 反应时的测定实验报告