📜  SAS决策制定|如果-然后-其他如果-然后-删除

📅  最后修改于: 2021-01-08 14:29:36             🧑  作者: Mango

SAS决策

决策是从可用选项中选择一个逻辑选项的想法。在SAS中,决策制定可以帮助程序员将特定条件应用于单个语句或一组语句。

考虑下图:

SAS中有三种类型的决策声明:

  • If -Then陈述
  • If-Then-Else-If语句
  • If-Then-Delete语句

如果?然后声明

如果指定条件为真,则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中执行以上代码:

输出:

根据以上输出,当条件“ result> 50 ”为真或结果大于50时,已将其添加到“通过”组。当条件“ result <50 ”为真或结果小于50时,它已添加到“失败”组中。

If-Then-Else-If语句

如果指定的条件为true,则If-Then-Else-If语句指示SAS执行一条语句;如果条件为false,则指示SAS执行语句的else部分。

在其他部分,我们可以使用If给出另一个条件。因此,我们可以使用If-Then-Else-If语句给出多个条件。让我们通过一个例子来理解它。

例:

在下面的代码中,我们提供了两个条件。如果第一个条件为true,则将在ifthe部分中执行,但如果条件为false,则将在elseif部分中执行。

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语句指示SAS执行语句,如果条件为假,则在条件为假后删除所有观察值。让我们通过一个例子来理解它。

例:

在下面的代码中,我们提供了一个条件。如果条件为真,那么它会执行,如果一部分,如果是假的,那么它将后病情是假删除所有的意见。

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的结果均已删除。