我们可以在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;

请注意,一个新的变量Division被创建,其值是基于团队变量的值。
其他资源
下面的教程解释了如何在SAS中执行其他常见任务: