如何在 sas 中使用 if-then-else(附示例)
您可以在 SAS 中使用IF-THEN-ELSE语句,如果条件为真,则返回一个值;如果条件不为真,则返回另一个值。
该语句使用以下基本语法:
if var1 > 30 then var2 = 'good';
else var2 = 'bad';
您还可以将多个ELSE IF语句链接在一起,以根据更多条件返回更多潜在值:
if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';
以下示例展示了如何在实践中针对 SAS 中的以下数据集使用这些语句:
/*create dataset*/
data original_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data = original_data;
示例 1: SAS 中的 IF-THEN-ELSE
我们可以使用以下IF-THEN-ELSE语句创建一个名为rating的新变量,如果点列中的值大于 30,则该变量取值“good”,否则取值“bad”:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
请注意,如果点列的值大于 30,则名为“评级”的新列将取值“好”,否则将取值“差”。
示例 2: SAS 中的 IF-THEN-ELSE IF
我们可以使用以下IF-THEN-ELSE IF语句来创建一个名为rating的新变量,该变量采用以下值:
- 如果分数大于 35,则为“超级”
- 否则,如果分数大于 30,则为“好”
- 否则,“不好”
以下代码展示了如何执行此操作:
/*create new dataset with new variable called rating*/ data new_data; set original_data; if points > 35 then rating = 'great'; else if points > 30 then rating = 'good'; else rating = 'bad'; run ; /*view new dataset*/ proc print data =new_data;
称为评级的新列根据点列中的相应值采用“优秀”、“良好”或“差”值。
注意:您可以随意使用任意数量的 ELSE IF语句,根据不同的条件返回任意数量的不同值。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: