SAS条件语句用法详细图解

本文概述

  • if-then语句
  • If-Then-Else-If语句
  • IF-THEN-DELETE声明
决策是从可用选项中选择一个逻辑选项的想法。在SAS中, 决策制定可帮助程序员将特定条件应用于单个语句或一组语句。
该决定取决于条件, 即, 如果条件为真, 则程序将使用另一组条件或另一条语句, 但是, 如果条件为假, 则它将返回代码的开始语句。
考虑下图:
SAS条件语句用法详细图解

文章图片
SAS中有三种类型的决策声明:
  • If -Then语句
  • If-Then-Else-If语句
  • If-Then-Delete语句
if-then语句 如果指定条件为真, 则If-Then语句指示SAS执行一条语句。让我们通过示例来理解它。
例:
在下面的代码中, 我们提供了两个条件。第一个条件是, 如果学生的成绩超过50, 则将该学生添加到” 通过” 组中。
第二个条件是, 如果学生的成绩小于50, 则将该学生添加到” 失败” 组中。
Data student; input result; if result> 50 then group = "Pass"; if result< 50 then group = "Fail"; datalines; 80 34 56 51 72 37 45 49 67 90 ; run; proc print data=http://www.srcmini.com/student; run;

在SAS Studio中执行以上代码:
SAS条件语句用法详细图解

文章图片
输出
SAS条件语句用法详细图解

文章图片
根据以上输出, 当条件” 结果> 50″ 为真或结果大于50时, 它已添加到” 通过” 组。当条件” result < 50″ 为true或结果小于50时, 它已添加到” Fail” 组中。
If-Then-Else-If语句 如果指定的条件为true, 则If-Then-Else-If语句指示SAS执行一条语句;如果条件为false, 则指示SAS执行语句的else部分。
在其他部分, 我们可以使用If给出另一个条件。因此, 我们可以使用If-Then-Else-If语句给出多个条件, 让我们通过一个例子来理解它。
例:
在下面的代码中, 我们提供了两个条件。如果第一个条件为true, 则将在if部分中执行, 但如果条件为false, 则将在if部分中执行else。
Data student; input result; if result> 50 then group = "Pass"; else if (result< 50) then group = "Fail"; datalines; 80 34 56 51 72 37 45 ; run; proc print data=http://www.srcmini.com/student; run;

在SAS Studio中执行以上代码:
SAS条件语句用法详细图解

文章图片
输出
SAS条件语句用法详细图解

文章图片
根据上面的输出, 已将大于50的结果按第一个条件添加到” 通过” 组, 而小于50的结果已将按第二个条件添加到” 失败” 组。
IF-THEN-DELETE声明 IF-THEN-DELETE语句如果指定的条件为true, 则指示SAS执行一条语句;如果条件为false, 则在条件为false后删除所有观察值。让我们通过一个例子来理解它。
例:
【SAS条件语句用法详细图解】在下面的代码中, 我们提供了一个条件。如果条件为true, 则执行part, 如果为false, 则条件为false后将删除所有观测值。
Data student; input result; if result< 50 then delete; datalines; 80 34 56 51 72 37 45 98 ; run; proc print data=http://www.srcmini.com/student; run;

在SAS Studio中执行以上代码:
SAS条件语句用法详细图解

文章图片
输出
SAS条件语句用法详细图解

文章图片
根据以上输出, SAS仅显示大于50的结果。所有小于50的结果均已删除。

    推荐阅读