stata模糊匹配
一、需求背景
虚假的需求背景:两组数据,数据中有一些不同,那要怎么样才能把这两组数据匹配在一起呢?举个例子,A数据里面的公司名是“傲娇猪猪公司”,B数据里面的公司名是“傲娇猪猪责任有限公司”,那么这两组数据使用merge的话就无法匹配到一起,因此我们需要使用reclink。
真实的需求背景:客户花钱找我做。
二、数据集的构造
我们就使用最常见的auto.dta吧。构造两个数据集。
- 正常的数据集:
那么,数据集长下面这样:
- 魔改的数据集
我们改掉前15个数据,保留价格,结果如下:
三、模糊匹配
结果如下:
可以发现前15个虽然不一样,但基本上都匹配上了。
这里注意:
make
是两个数据表需要匹配的键。如果有很多键,举个例子,省份、城市、乡镇,那么都放上去就好啦。
using "bbb.dta"
,这里是指需要匹配的另一个数据集。
idmaster(id1) idusing(id2)
,这两个分别是现在这个数据集的唯一标识符和需要匹配的数据集的唯一标识符,用_n
生成即可。
gen(matchscore)
表示生成匹配得分。
四、对relink的进一步探讨
暂无实例,参考这个。
reclink
命令还允许对匹配变量设定不同权重。比如,在的例子中,我们认为 city 是最重要的,则仅需增加 vmatch()
选项设定权重。具体示例如下reclink name city using file2.dta, idmaster(id1) idusing(id2) gen(matchscore) wmatch(1 15)
五、参考资料
- Twikoo
- Utterance
Last update:
你好呀,欢迎浏览我的网站~