SAS中的IF-THEN和IF

 手机用户2502858383_827 发布于 2023-01-14 15:52
  • php
  • IF和之间有什么区别IF-THEN

    例如以下声明

    if type='H' then output;
    
    vs
    
    if type='H';
    output;
    

    catquas.. 7

    if-then语句有条件地执行代码.如果对于给定的观察满足条件,则在;执行之前的'then'之后的任何条件,否则它不是.在您的示例中,由于以下内容output,仅将具有类型的观察'H'输出到由数据步骤构建的数据集.您还可以使用if-then-do语句,例如在以下代码中:

    if type = 'H' then do;
    i=1;
    output;
    end;
    

    if-then-do语句有条件地执行do;和之间的代码end;.因此,上述代码执行i=1;output;仅当类型等于'H'.

    一个if没有then是一个"子集,如果".根据SAS文档:

    子集化IF语句在将观察读入程序数据向量(PDV)之后测试条件.如果条件为真,则SAS继续处理当前观察.否则,丢弃观察结果,并继续进行下一次观察.

    因此,如果type='H'不满足子集化if(ex.)的条件,则观察不会输出到由数据步骤创建的数据集.在您的示例中,仅'H'输出类型为的观察值.

    总之,两个示例代码产生相同的结果,但是通过不同的方式.if type='H' then output;只输出类型为的观测值'H',而if type='H'; output;丢弃类型不是的观测值'H'.请注意,在后者中您不需要,output;因为SAS数据步骤中存在隐式输出,只有存在显式output;命令时才会覆盖该输出.

    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有