本文概述
决策是从可用选项中选择一个逻辑选项的想法。在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=student;
run;
在SAS Studio中执行以上代码:
输出
根据以上输出, 当条件”结果> 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=student;
run;
在SAS Studio中执行以上代码:
输出
根据上面的输出, 已将大于50的结果按第一个条件添加到”通过”组, 而小于50的结果已将按第二个条件添加到”失败”组。
IF-THEN-DELETE声明
IF-THEN-DELETE语句如果指定的条件为true, 则指示SAS执行一条语句;如果条件为false, 则在条件为false后删除所有观察值。让我们通过一个例子来理解它。
例:
在下面的代码中, 我们提供了一个条件。如果条件为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=student;
run;
在SAS Studio中执行以上代码:
输出
根据以上输出, SAS仅显示大于50的结果。所有小于50的结果均已删除。
评论前必须登录!
注册