Stata与多个匹配变量合并



我很难组合项目的数据集。我们的主要数据集由个人法官组织。这是一个属性数据集。

judge
  j |  x |  y |  z
----|----|----|----
  1 | 2  | 3  |  4
  2 | 5  | 6  |  7 

第二个数据集是一个案例数据库。每个观察都是一个案例,法官可以出现在三个变量之一中。

case
case | j1 | j2 | j3 | year
-----|----|----|----|-----
  1  |  1 |  2 |  3 | 2002
  2  |  2 |  3 |  1 | 1997

我们希望将情况数据库 merge匹配到属性数据库中,与judge匹配。因此,对于每种情况,judge出现在j1j2j3中时,将添加对该情况的观察结果,创建一个看起来像下面的数据集。

 combined
  j |  x | y  | z  |  case |  year
 ---|----|----|----|-------|--------
  1 |  2 | 3  | 4  |   1   | 2002
  1 |  2 | 3  | 4  |   2   | 1997
  2 |  5 | 6  | 7  |   1   | 2002
  2 |  5 | 6  | 7  |   2   | 1997

我最好的猜测是使用

 rename j1 j
 merge 1:m j using case
 rename j j1
 rename j2 j
 merge 1:m j using case

但是,我不确定这会起作用,尤其是因为合并数据集具有j标识可能发生的三个可能的变量。

您的示例很清楚,但最好将它们作为代码出现,而这些代码不需要工程编辑即可删除脚手架。请参阅SSC(ssc inst dataex)的dataex

我认为这是丢失的reshape的情况。

clear 
input   j   x   y   z
  1  2   3    4
  2  5   6    7 
end
save judge 
clear 
input case j1  j2  j3  year
  1    1   2   3  2002
  2    2   3   1  1997
end 
reshape long j , i(case) j(which) 
merge m:1 j using judge 
list
     +-------------------------------------------------------+
     | case   which   j   year   x   y   z            _merge |
     |-------------------------------------------------------|
  1. |    1       1   1   2002   2   3   4       matched (3) |
  2. |    2       3   1   1997   2   3   4       matched (3) |
  3. |    2       1   2   1997   5   6   7       matched (3) |
  4. |    1       2   2   2002   5   6   7       matched (3) |
  5. |    2       2   3   1997   .   .   .   master only (1) |
     |-------------------------------------------------------|
  6. |    1       3   3   2002   .   .   .   master only (1) |
     +-------------------------------------------------------+
drop if _merge < 3
list 
     +---------------------------------------------------+
     | case   which   j   year   x   y   z        _merge |
     |---------------------------------------------------|
  1. |    1       1   1   2002   2   3   4   matched (3) |
  2. |    2       3   1   1997   2   3   4   matched (3) |
  3. |    2       1   2   1997   5   6   7   matched (3) |
  4. |    1       2   2   2002   5   6   7   matched (3) |
     +---------------------------------------------------+

最新更新