SAS |带有示例的 COALESCE函数
COALESCE函数用于选择变量列表中的第一个非缺失值。换句话说,它返回每行的第一个非空白值。
让我们在 SAS 中生成一个示例数据集,以了解 COALESCE 的执行情况。
例子:
data temp;
input roll_no a1-a4;
cards;12 . 98 52 .
23 79 . 67 .
14 90 82 88 85
;run;
输出:
- COALESCE : 第一个非缺失值
data exam; set temp; first_non_miss_val = coalesce(of a1 - a4); run;
如果您检查下图中显示的输出,您会发现 COALESCE 在第一次观察中返回 98,这是 a1 = .、a2 = 98、a3 = 52、a4 = 中的第一个非缺失值。
- COALESCE : 最后一个非缺失值
让我们假设您想找出最后一个非缺失值而不是第一个。为此,没有这样的函数可以返回最后一个非缺失值,但为了实现这一点,我们可以反转变量列表并计算第一个非缺失值,这将等同于最后一个非缺失值。间接地,我们正在考虑从右到左而不是从左到右来评估变量。
data exam; set temp; last_non_miss_val = coalesce(of a4-a1); run;
输出:
注意: coalesce(of a4-a1) 等价于 coalesce(a4, a3, a2, a1)。