如何在stata中合并两个ID变化的数据集

How can I merge two data sets with ID variation in stata

我有以下两个数据集。

children 的第一个看起来像这样。

ID年份Q1 Q2 Q3 Q4 ....

101 2014 1 2 2 2

101 2016 1 2 2 2

101 2017 1 2 2 2

101 2018 1 2 2 2

401 2014 1 2 2 2

401 2015 1 2 3 3

401 2016 1 2 2 2

401 2017 1 2 1 1

401 2018 1 2 2 2

402 2014 1 1 0 3

402 2015 1 1 2 2

402 2016 1 1 2 2

402 2017 1 1 3 3

402 2018 1 1 2 3

这是他们 parent 的第二个。

ID年份Q101 Q102

1 2014 1 3

1 2015 1 3

1 2016 1 3

1 2017 1 2

1 2018 1 2

2 2014 年 2 .

2 2015 年 1 2

2 2016 年。 .

2 2017 1 3

2 2018 年 2 .

4 2014 1 3

4 2015 1 3

4 2016 年 1 3

4 2017 1 3

4 2018 1 3

所以parent数据ID可以匹配到删除最后两位的children数据ID。好像parent ID 4有两个children.

我试过了 merge 1:m ID 使用 kids 数据作为主数据集。 但是没用。

谢谢。

通过 (a) 尝试编写代码并展示您尝试过的内容以及 (b) 以任何使用 Stata 的人都可以 运行 的代码形式提供数据,更有可能获得好的答案。此处的代码来自编辑您的 post 并且接近您可以通过使用 dataex 直接获得的代码,如 Stata 标签 wiki 或实际上在最新的 help dataex 中所述Stata 或您从 SSC 安装 dataex 的软件。

clear 
input ID year Q1 Q2 Q3 Q4 
101 2014 1 2 2 2
101 2016 1 2 2 2
101 2017 1 2 2 2
101 2018 1 2 2 2
401 2014 1 2 2 2
401 2015 1 2 3 3
401 2016 1 2 2 2
401 2017 1 2 1 1
401 2018 1 2 2 2
402 2014 1 1 0 3
402 2015 1 1 2 2
402 2016 1 1 2 2
402 2017 1 1 3 3
402 2018 1 1 2 3
end 

gen IDP = floor(ID/100)
save children 

clear 
input ID year Q101 Q102
1 2014 1 3
1 2015 1 3
1 2016 1 3
1 2017 1 2
1 2018 1 2
2 2014 2 .
2 2015 1 2
2 2016 . .
2 2017 1 3
2 2018 2 .
4 2014 1 3
4 2015 1 3
4 2016 1 3
4 2017 1 3
4 2018 1 3
end 

rename ID IDP 

merge 1:m IDP year using children 

list 

     +----------------------------------------------------------------------+
     | IDP   year   Q101   Q102    ID   Q1   Q2   Q3   Q4            _merge |
     |----------------------------------------------------------------------|
  1. |   1   2014      1      3   101    1    2    2    2       matched (3) |
  2. |   1   2015      1      3     .    .    .    .    .   master only (1) |
  3. |   1   2016      1      3   101    1    2    2    2       matched (3) |
  4. |   1   2017      1      2   101    1    2    2    2       matched (3) |
  5. |   1   2018      1      2   101    1    2    2    2       matched (3) |
     |----------------------------------------------------------------------|
  6. |   2   2014      2      .     .    .    .    .    .   master only (1) |
  7. |   2   2015      1      2     .    .    .    .    .   master only (1) |
  8. |   2   2016      .      .     .    .    .    .    .   master only (1) |
  9. |   2   2017      1      3     .    .    .    .    .   master only (1) |
 10. |   2   2018      2      .     .    .    .    .    .   master only (1) |
     |----------------------------------------------------------------------|
 11. |   4   2014      1      3   401    1    2    2    2       matched (3) |
 12. |   4   2015      1      3   401    1    2    3    3       matched (3) |
 13. |   4   2016      1      3   402    1    1    2    2       matched (3) |
 14. |   4   2017      1      3   401    1    2    1    1       matched (3) |
 15. |   4   2018      1      3   402    1    1    2    3       matched (3) |
     |----------------------------------------------------------------------|
 16. |   4   2014      1      3   402    1    1    0    3       matched (3) |
 17. |   4   2015      1      3   402    1    1    2    2       matched (3) |
 18. |   4   2016      1      3   401    1    2    2    2       matched (3) |
 19. |   4   2017      1      3   402    1    1    3    3       matched (3) |
 20. |   4   2018      1      3   401    1    2    2    2       matched (3) |
     +----------------------------------------------------------------------+

merge 而言,要点是两个数据集中具有相同名称的标识符和正确的合并模式。父标识符仅由子数据集隐含。