如何在SAS中使用CASE WHEN语句(附实例)

1,177 阅读1分钟

我们可以在SAS中使用CASE语句来创建一个新的变量,使用case-when逻辑来决定分配给新变量的值。

这个语句使用以下基本语法:

proc sql;
    select var1, case
                 when var2 = 'A' then 'North'
               	 when var2 = 'B' then 'South'
               	 when var2 = 'C' then 'East'
                 else 'West'
                 end as variable_name
    from my_data;
quit;

下面的例子显示了如何在实践中使用CASE语句。

例子:在SAS中使用CASE语句

假设我们在SAS中拥有以下数据集:

/*create dataset*/
data original_data;
    input team $ points rebounds;
    datalines;
A 25 8
A 18 12
A 22 6
B 24 11
B 27 14
C 33 19
C 31 20
D 30 17
D 18 22
;
run;

/*view dataset*/
proc print data=original_data;

我们可以使用下面的CASE语句来创建一个名为Division的新变量,其值是基于团队变量的值:

/*create dataset*/
proc sql;
    select team, points, case
                	 when team = 'A' then 'North'
               	         when team = 'B' then 'South'
               	         when team = 'C' then 'East'
                	 else 'West'
                         end as Division
    from original_data;
quit;

case when statement in SAS example

请注意,一个新的变量Division被创建,其值是基于团队变量的值。

其他资源

下面的教程解释了如何在SAS中执行其他常见任务:

如何在SAS中使用IF-THEN-DO
如何在SAS中删除行
如何在SAS中删除重复的