我有1个数据集,想要匹配自己,只是为了得到模糊匹配。
Age2 Gender4 Consonants2 Name_of_Patient_nospace2 SoundEx
5 F h Ahoi A0
31 M h Ahoi A0
35 F y AYEE A0
33 F y AAYEE A0
39 F y AYEE A0
32 F y Ayai A0
35 M r Aro A090
35 M r ARAAO A090
33 M r ARao A090
30 M r Arei A090
35 M r Aro A090
35 M r ARAAO A090
33 M r ARao A090
30 M r Arei A090
65 M r AARI A090
在SAS下面的代码中得到n到n的映射(ABC和DEF表是相同的):
Proc Sql noprint;
Create table as Match
Select * from ABC as x inner join DEF as y
on (x.SoundEx = y.SoundEx_Copy) and (x.Consonants = y.Consonants_Copy)
where (x.Gender = y.Gender_Copy) and (x.Age2 - y.Age2_Copy) between -5 and
5;
quit;
可以在DATA步骤中执行相同的代码以获得1到n的映射吗? 例如:如果我们有2个表都有1,2,3个记录,那么out应该如下(按照1到n的映射)
1-1
1-2
1-3
2-2
2-3
3-3