精确匹配> = 1个变量,模糊匹配> = 1个变量stata

问题描述

在Stata中,如何对至少一个变量进行精确匹配以及对至少一个变量进行模糊匹配?

例如,说我想对orgyear进行精确匹配,并对firstnamelastname进行模糊匹配。换句话说,为了使其甚至考虑对firstnamelastname进行模糊匹配,orgyear必须是精确匹配。

这是一个示例数据集:

*dataset a
clear all
input str1 org year str10 firstname str12 lastname
"A" 2010 "susan" "robertson"
"A" 2011 "bob" "miller"
"B" 2010 "albert" "smith"
"B" 2011 "sue" "washington"
end
tempfile a
save `a'

一个要合并:

*dataset b
clear all
input str1 org year str10 firstname str12 lastname
"A" 2010 "Susan A" "Robertson"
"A" 2011 "bob" "Miller"
"A" 2012 "francisco" "ramirez"
"B" 2010 "mike" "doorpen"
"B" 2011 "sue h" "washnngton"
end
tempfile b
save `b'

我该如何完成我想要的?

我能想到的最好的方法是在将matchitfirstname组合成一个变量,例如lastname之后使用name。然后,对于具有相同orgyear的观测值,仅将模糊匹配结果保持在某个阈值以上。但这似乎很笨拙。有没有更好的办法?向所有方法开放。

解决方法

有人在Twitter上告诉我答案:将reclinkhttps://fmwww.bc.edu/repec/bocode/r/reclink.html)与required选项一起使用。