如何在 sas 中使用 case when 语句(附示例)


我们可以使用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 $pointsrebounds;
    datalines ;
At 25 8
At 18 12
At 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的新变量,其值基于team变量的值:

 /*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 SAS 示例中的语句

请注意,已创建一个新的Division变量,其值基于Team变量的值。

其他资源

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

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

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注