如何在 sas 中使用 select-when(附示例)


您可以使用 SAS 中的SELECT-WHEN语句根据数据集中现有分类变量的值将值分配给新变量。

该语句使用以下基本语法:

 data new_data;
set my_data;
select (Existing_Column);
   when ('value1') New_Column= 1 ;
   when ('value2') New_Column= 2 ;
   when ('value3') New_Column= 3 ;
   otherwise New_Column= 4 ;
end ;
run ;

此语法生成一个名为New_Column的新列,其值取决于Existing_Column的值。

以下示例显示如何在实践中使用SELECT-WHEN语句。

示例: SAS 中的 SELECT-WHEN

假设我们在 SAS 中有以下数据集,其中包含有关各种篮球运动员的信息:

 /*create dataset*/
data my_data;
    input team $rating $points;
    datalines ;
Mavs Great 22
Mavs Good 29
Mavs OK 15
Mavs Bad 8
Spurs Good 30
Spurs OK 15
Spurs OK 20
Spurs Bad 7
;
run ;

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

我们可以使用以下SELECT-WHEN语句创建一个名为Player_Status的新变量,其值取决于评级列中的值:

 /*create new dataset with Player_Status column*/
data new_data;
set my_data;
select (rating);
   when ('Great') Player_Status= 1 ;
   when ('Good') Player_Status= 2 ;
   when ('OK') Player_Status= 3 ;
   otherwise Player_Status= 4 ;
end ;
run ;

/*view new dataset*/
proc print data = new_data; 

以下是新Player_Status列中的值的生成方式:

  • 如果评级为“Excellent”,则Player_Status收到1
  • 如果评级为“Good”,则Player_Status被分配为2
  • 如果评级为“OK”,则Player_Status被指定为3
  • 如果评级不等于任何先前指定的值,则Player_Status被分配为4

注意:您可以在此处找到 SAS 中SELECT语句的完整文档。

其他资源

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

SAS 中 DO 循环的完整指南
如何在 SAS 中使用 IF-THEN-DO

添加评论

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