第一范文网 - 专业文章范例文档资料分享平台

SAS45[数据步与文件操作]

来源:用户分享 时间:2021-06-02 本文由坦然理解 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

SAS45[数据步与文件操作]

第四章,第五章

SAS45[数据步与文件操作]

第四章 数据步程序设计数据步的程序代码一般都是顺序执行, 数据步的程序代码一般都是顺序执行, 然而,数据步中有一些控制语句,如分支, 然而,数据步中有一些控制语句,如分支, 循环语句,可控制程序的执行流程. 循环语句,可控制程序的执行流程. IF DO … END GOTO RETURN

SAS45[数据步与文件操作]

4.1 IF 语句两种IF语句 两种 语句: 语句● 条 件 IF 语 句 , 带 有 一 个 THEN 子 句 和 ELSE子句(可选).只对满足 语句中所 子句( 子句 可选) 只对满足IF语句中所 指定条件的观测值才执行SAS语句 . 如果 语句. 指定条件的观测值才执行 语句 THEN子句不被执行, 那么可选择的 子句不被执行, 子句不被执行 那么可选择的ELSE 子句给出另一种替换作用. 子句给出另一种替换作用. 子集IF语句 语句, 子句. ●子集 语句,无THEN子句.用来使 子句 用来使SAS 系统继续处理那些满足IF 子句中条件的观 系统继续处理那些满足 测值. 测值.

SAS45[数据步与文件操作]

IF-THEN/ELSE语句 语句格式: 格式 IF expression THEN statement; <ELSE statement;>说明: 说明: SAS系统首先对跟在 后的表达式 系统首先对跟在IF后的表达式 求值, 系统首先对跟在 后的表达式(expression)求值, 求值 如果结果为真(非零 则执行THEN后的语句.如果为假, 非零), 后的语句. 如果结果为真 非零 ,则执行 后的语句 如果为假, 则去执行ELSE后面的语句,如果没有 后面的语句, 子句, 则去执行 后面的语句 如果没有ELSE子句,则执行下 子句 一个语句. 一个语句. 注意: 注意 之后只允许使用一个语句, 在THEN之后只允许使用一个语句,如果要执行几个 之后只允许使用一个语句 语句,则应用DO-END把要同时执行的几个语句用括起来. 语句,则应用 把要同时执行的几个语句用括起来. 把要同时执行的几个语句用括起来 IF-THEN/ELSE 语句可以嵌套 .

SAS45[数据步与文件操作]

4.2 GO TO (GOTO)语句格式: 格式 GOTO label; 或 GO TO label; 说明: 说明:GO TO (或者 或者GOTO)语句告诉 语句告诉SAS系统,立即 系统, 或者 语句告诉 系统 跳向在GOTO语句中指出的语句, 并从那一点开始 语句中指出的语句, 跳向在 语句中指出的语句 接着执行. 接着执行.GO TO语句和跳向的目标都必须在一个 语句和跳向的目标都必须在一个 DATA步中,跳向的目标语句由 步中, 步中 跳向的目标语句由GO TO语句和目标 语句和目标 语句中的标号来标明. 语句中的标号来标明. label: 标识 标识GOTO目标的语句标号. 目标的语句标号. 目标的语句标号

SAS45[数据步与文件操作]

4.3 RETURN语句格式: 格式:RETURN; RETURN语句的功能是将当前观测值输 语句的功能是将当前观测值输 出到数据集,然后立即将程序流程返回 DATA步的开始处,而不执行其后的语句. 步的开始处, 步的开始处 而不执行其后的语句. GO TO语句经常被 语句经

常被DO-END语句代替. 语句代替. 语句经常被 语句代替

SAS45[数据步与文件操作]

4.4 循环在数据步的一次执行中反复地执行某一 部分语句,这种程序的反复执行称为循环. 部分语句,这种程序的反复执行称为循环. DATA _NULL_;I=1; K: PUT I; I=I+1; IF I<=10 THEN GOTO K; RUN;DO I=1 TO 10; ; PUT I; ; END; ;

SAS45[数据步与文件操作]

4.4 循环循环语句的格式: DO 指针变量=初值 TO 终值 BY 增量; END ; 说明: DO语句组第一次执行时,指针变量等于 初值.当终值和增量都存在时,则每执行到 END 语句时, 指针变量+增量作为新的指针变量,并 与终值作比较,直到指针变量的值变化超过终值 时才停止执行DO语句组.最后一次执行完后,指 针变量值超过终值.

SAS45[数据步与文件操作]

4.4 循环如果仅有初值, 如果仅有初值 , 则直到一个语句指示 跳出循环体才停止循环. 跳出循环体才停止循环 . 如果初值终值均 未规定,语句组执行一次. 未规定 , 语句组执行一次 . 如果未规定增 增量的缺省值为1. 量,增量的缺省值为 .初值和终值是在第 一次执行循环以前计算的. 一次执行循环以前计算的.

SAS45[数据步与文件操作]

4.4 循环DATA _NULL_; DO I=1 TO 10; PUT I=; END; RUN; PUT语句中变量名后面使用等号,是对 输出值用变量名来标识.称为命名输出. 如:PUT I=;

SAS45[数据步与文件操作]

4.4 循环 双重循环(循环嵌套): DO…; DO…; 外 内 循 …… 循 环 环 …… END; END;

SAS45[数据步与文件操作]

4.4 循环 双重循环(循环嵌套): DATA _NULL_; DO I=1 TO 9; DO J=1 TO I; X=I*J; PUT @(J*5) X @; END; PUT; END; RUN;

SAS45[数据步与文件操作]

4.4 循环DATA _NULL_; DO I=1 TO 9; DO J=1 TO I; X =I*J; PUT J 1. '*' I 1. '=' END; PUT; END; RUN;

X 2. +2 @;

SAS45[数据步与文件操作]

4.5 其它程序设计中常用语句4.5.1 DELETE 语句格式: 格式:DELETE; DELETE语句告诉 语句告诉SAS系统停止处理当 语句告诉 系统停止处理当 前的观测值, 前的观测值, 且该观测值不被写入正在建立 的数据集中, 系统返回DATA步的开始处 的数据集中,SAS系统返回 系统返回 步的开始处 进行下一次执行. 进行下一次执行.

SAS45[数据步与文件操作]

4.5.2求子集的IF语句格式: IF expression; 使用求子集IF语句,使SAS系统仅继续处 理符合IF语句条件规定的观测值, 因而 所得到的数据集是原数据集的子集.

SAS45[数据步与文件操作]

4.5.2求子集的IF语句如果表达式为真(非零且不缺项 , 如果表达式为真 非零且不缺项), SAS系统 非零且不缺项 系统 继续为正在建立的观测值执行DATA 步中的语句. 步中的语句. 继续为正在建立的观测值执行 如果表达式的值是假(0或缺项 或缺项), 如果表达式的值是假 或缺项 ,SAS系统马上返 系统马上返 回到DATA步的开始, 去进行另一次执行而不输 回到 步的开始, 步的开始 出上一个观测值. 出上一个观测值. 如: IF SEX='F'; 等同于( 等同于(IF SEX='M' THEN DELETE; ; 在结果数据集中所包含的仅仅是SEX的值 在结果数据集中所包含的仅仅是 的值 的那些观测值. 为'F'的那些观

测值. 的那些观测值

SAS45[数据步与文件操作]

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科SAS45[数据步与文件操作]全文阅读和word下载服务。

SAS45[数据步与文件操作].doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1195835.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top