问题描述
在Stata中,如何对至少一个变量进行精确匹配以及对至少一个变量进行模糊匹配?
例如,说我想对org
和year
进行精确匹配,并对firstname
和lastname
进行模糊匹配。换句话说,为了使其甚至考虑对firstname
和lastname
进行模糊匹配,org
和year
必须是精确匹配。
这是一个示例数据集:
*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'
我该如何完成我想要的?
我能想到的最好的方法是在将matchit
和firstname
组合成一个变量,例如lastname
之后使用name
。然后,对于具有相同org
和year
的观测值,仅将模糊匹配结果保持在某个阈值以上。但这似乎很笨拙。有没有更好的办法?向所有方法开放。
解决方法
有人在Twitter上告诉我答案:将reclink
(https://fmwww.bc.edu/repec/bocode/r/reclink.html)与required
选项一起使用。