如何使用 sas 中的 coalesce 函数(附示例)
您可以使用 SAS 中的COALESCE函数返回数据集中每行的第一个非缺失值。
下面的例子展示了如何在实际中使用这个功能。
示例:如何在 SAS 中使用 COALESCE
假设我们在 SAS 中有以下包含缺失值的数据集:
/*create dataset*/
data original_data;
input team $points rebounds assists;
datalines ;
Warriors 25 8 7
Wizards. 12 6
Rockets. . 5
Celtics 24. 5
Thunder. 14 5
Spurs 33 19 .
Nets. . .
Mavericks. 8 10
Kings. . 9
Pelicans. 23 6
;
run ;
/*view dataset*/
proc print data = original_data;
我们可以使用COALESCE函数创建一个新列,返回得分、篮板和助攻列中每行的第一个非缺失值:
/*create new dataset*/
data new_data;
set original_data;
first_non_missing = coalesce (points, rebounds, assists);
run ;
/*view new dataset*/
proc print data =new_data;
以下是选择first_non_missing列的值的方式:
- 第一行:得分、篮板和助攻中第一个非缺失值是25 。
- 第二行:得分、篮板和助攻中第一个非缺失值是12 。
- 第三行:得分、篮板和助攻中第一个非缺失值是5 。
等等。
注意#1 :如果所有值都缺失(如第 7 行),那么COALESCE函数将简单地返回一个缺失值。
注意#2 : COALESCE函数仅适用于数值变量。如果您想返回字符变量列表中的第一个非缺失值,请使用COALESCEC函数。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: