如何使用 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; 

SAS 合并函数示例

以下是选择first_non_missing列的值的方式:

  • 第一行:得分、篮板和助攻中第一个非缺失值是25
  • 第二行:得分、篮板和助攻中第一个非缺失值是12
  • 第三行:得分、篮板和助攻中第一个非缺失值是5

等等。

注意#1 :如果所有值都缺失(如第 7 行),那么COALESCE函数将简单地返回一个缺失值。

注意#2COALESCE函数仅适用于数值变量。如果您想返回字符变量列表中的第一个非缺失值,请使用COALESCEC函数。

其他资源

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

如何标准化 SAS 中的数据
如何在SAS中替换字符串中的字符
SAS中如何用零替换缺失值
SAS中如何删除重复项

添加评论

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