SAS 程序分享:两数据集中变量交集的三种判定方法
假设有 A 数据集,其中有变量 X;
假设有 B 数据集,其中有变量 Y;
要判断变量 X 中的值是否与变量 Y 中的某个值相等,即判定变量 X 和 Y 的交集,有非常多不同的做法,这里给出其中三种,并试着进行对比。
三种方法的运行耗时关系为:方法1 > 方法2 ≈ 方法3。
第一种方法最容易理解,有 SAS Base 认证能力的程序员都能够掌握,后两种方法则需要更深入地学习 SAS 编程,特别地,第二种方法是非常容易扩展,例如使用字符处理函数以支持模糊匹配。而第三种方法中使用 check() 方法代替了 find() 方法,因为 check() 方法不需要将 hash 数据对象转换成 PDV 中的数据,速度更快,这一点是不易了解和掌握的。