SAS 程序分享:兩數(shù)據(jù)集中變量交集的三種判定方法
假設(shè)有 A 數(shù)據(jù)集,其中有變量 X;
假設(shè)有 B 數(shù)據(jù)集,其中有變量 Y;
要判斷變量 X 中的值是否與變量?Y 中的某個(gè)值相等,即判定變量 X 和 Y 的交集,有非常多不同的做法,這里給出其中三種,并試著進(jìn)行對比。
三種方法的運(yùn)行耗時(shí)關(guān)系為:方法1 > 方法2 ≈ 方法3。
第一種方法最容易理解,有 SAS Base 認(rèn)證能力的程序員都能夠掌握,后兩種方法則需要更深入地學(xué)習(xí) SAS 編程,特別地,第二種方法是非常容易擴(kuò)展,例如使用字符處理函數(shù)以支持模糊匹配。而第三種方法中使用 check() 方法代替了 find() 方法,因?yàn)?check() 方法不需要將 hash 數(shù)據(jù)對象轉(zhuǎn)換成 PDV 中的數(shù)據(jù),速度更快,這一點(diǎn)是不易了解和掌握的。
標(biāo)簽:SAS