楼主: lar066
5788 14

[面板数据求助] 将宏观数据匹配至微观数据库 [推广有奖]

  • 0关注
  • 1粉丝

已卖:121份资源

硕士生

72%

还不是VIP/贵宾

-

威望
0
论坛币
4729 个
通用积分
67.5029
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4494 点
帖子
62
精华
0
在线时间
294 小时
注册时间
2016-9-4
最后登录
2025-9-10

楼主
lar066 学生认证  发表于 2022-4-9 21:50:26 |AI写论文
3论坛币
问题:如何将宏观数据库数据中的gf 匹配至企业微观数据库中?感谢,祝好!

宏观数据


其中 PROVINCE为省份变量、gf为分省份分年度数据


  1. ----------------------- copy starting from the next line -----------------------
  2. [CODE]
  3. * Example generated by -dataex-. To install: ssc install dataex
  4. clear
  5. input str24 PROVINCE int Year double gf
  6. "上海市" 2007  .1815
  7. "上海市" 2008  .1936
  8. "上海市" 2009  .2057
  9. "上海市" 2010  .2144
  10. "上海市" 2011  .2231
  11. "上海市" 2012 .23435
  12. "上海市" 2013  .2456
  13. "上海市" 2014  .2673
  14. "上海市" 2015   .285
  15. "上海市" 2016  .3143
  16. "上海市" 2017   .334
  17. "上海市" 2018   .354
  18. "上海市" 2019   .377
  19. "上海市" 2020   .403
  20. "云南省" 2007  .0706
  21. "云南省" 2008 .07465
  22. "云南省" 2009  .0787
  23. "云南省" 2010  .0846
  24. "云南省" 2011  .0905
  25. "云南省" 2012 .09975
  26. end
复制代码

------------------ copy up to and including the previous line ---------------
[/code]

微观数据库


其中Stkcd为上市公司证券代码, Year为年份,PROVINCE为省份


  1. ----------------------- copy starting from the next line -----------------------
  2. [CODE]
  3. * Example generated by -dataex-. To install: ssc install dataex
  4. clear
  5. input long Stkcd int Year str24 PROVINCE
  6. 2 2007 "广东省"
  7. 2 2008 "广东省"
  8. 2 2009 "广东省"
  9. 2 2010 "广东省"
  10. 2 2011 "广东省"
  11. 2 2012 "广东省"
  12. 2 2013 "广东省"
  13. 2 2014 "广东省"
  14. 2 2015 "广东省"
  15. 2 2016 "广东省"
  16. 2 2017 "广东省"
  17. 2 2018 "广东省"
  18. 2 2019 "广东省"
  19. 2 2020 "广东省"
  20. 4 2010 "广东省"
  21. 4 2011 "广东省"
  22. 4 2012 "广东省"
  23. 4 2013 "广东省"
  24. 4 2014 "广东省"
  25. 4 2015 "广东省"
  26. 4 2016 "广东省"
  27. 4 2017 "广东省"
  28. 4 2019 "广东省"
  29. 4 2020 "广东省"
  30. 6 2007 "广东省"
  31. 6 2008 "广东省"
  32. 6 2009 "广东省"
  33. 6 2010 "广东省"
  34. 6 2011 "广东省"
  35. 6 2012 "广东省"
  36. 6 2013 "广东省"
  37. 6 2014 "广东省"
  38. 6 2015 "广东省"
  39. 6 2016 "广东省"
  40. 6 2018 "广东省"
  41. 6 2019 "广东省"
  42. 6 2020 "广东省"
  43. 8 2007 "广东省"
  44. 8 2008 "广东省"
  45. 8 2009 "广东省"
  46. 8 2010 "广东省"
  47. 8 2012 "广东省"
  48. 8 2013 "广东省"
  49. 8 2014 "广东省"
  50. 8 2015 "北京市"
  51. 8 2016 "北京市"
  52. 8 2017 "北京市"
  53. 8 2018 "北京市"
  54. 8 2019 "北京市"
  55. 9 2007 "广东省"
  56. 9 2008 "广东省"
  57. 9 2009 "广东省"
  58. 9 2010 "广东省"
  59. 9 2011 "广东省"
  60. 9 2012 "广东省"
  61. 9 2013 "广东省"
  62. 9 2014 "广东省"
  63. 9 2015 "广东省"
  64. 9 2016 "广东省"
  65. 9 2017 "广东省"
  66. 9 2018 "广东省"
  67. 9 2019 "广东省"
  68. 9 2020 "广东省"
  69. 10 2008 "广东省"
  70. 10 2009 "广东省"
  71. 10 2012 "北京市"
  72. 10 2013 "北京市"
  73. 10 2015 "北京市"
  74. 10 2016 "广东省"
  75. 10 2019 "广东省"
  76. 10 2020 "广东省"
  77. 11 2008 "广东省"
  78. 11 2009 "广东省"
  79. 11 2010 "广东省"
  80. 11 2011 "广东省"
  81. 11 2012 "广东省"
  82. 11 2013 "广东省"
  83. 11 2014 "广东省"
  84. 11 2015 "广东省"
  85. 11 2016 "广东省"
  86. 11 2017 "广东省"
  87. 11 2018 "广东省"
  88. 11 2019 "广东省"
  89. 11 2020 "广东省"
  90. 12 2007 "广东省"
  91. 12 2008 "广东省"
  92. 12 2009 "广东省"
  93. 12 2010 "广东省"
  94. 12 2011 "广东省"
  95. 12 2012 "广东省"
  96. 12 2013 "广东省"
  97. 12 2014 "广东省"
  98. 12 2015 "广东省"
  99. 12 2016 "广东省"
  100. 12 2017 "广东省"
  101. 12 2018 "广东省"
  102. 12 2019 "广东省"
  103. 12 2020 "广东省"
  104. 14 2008 "广东省"
  105. 14 2009 "广东省"
  106. end
复制代码

------------------ copy up to and including the previous line ------------------

[/code]



最佳答案

黃河泉 查看完整内容

我的猜测跟上面一样,指令应该没错,有时候可能是因为"空格" (你看不出来的) 原因所造成无法 merge。
关键词:宏观数据 微观数据 数据匹配 数据库 including

沙发
黃河泉 在职认证  发表于 2022-4-9 21:50:27
lar066 发表于 2022-4-10 20:59
请问,还有别的命令没有?仔细检查省份名称,并无不一致之处
我的猜测跟上面一样,指令应该没错,有时候可能是因为"空格" (你看不出来的) 原因所造成无法 merge。

藤椅
梧桐煜 发表于 2022-4-10 11:22:32
  1. use  微观数据库,clear
  2. merge  1:1 PROVINCE Year using 宏观数据
复制代码

试试这个

板凳
lar066 学生认证  发表于 2022-4-10 15:20:46
梧桐煜 发表于 2022-4-10 11:22
试试这个
. merge  1:1 PROVINCE Year using 宏观数据
variables PROVINCE Year do not uniquely identify observations in the
    master data


我用的joinby命令,匹配混乱,部分企业的数据莫名其妙的消失。依旧不成功
  1. . joinby PROVINCE Year using 宏观数据
复制代码

报纸
zdlspace 学生认证  发表于 2022-4-10 15:34:40
  1. merge m:1 PROVINCE Year using 宏观数据
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lar066 + 3 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 3  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
lar066 学生认证  发表于 2022-4-10 17:14:26
zdlspace 发表于 2022-4-10 15:34
谢谢!这个方法也试过了,匹配不上。merge多对多和多对一匹配结果一样
  1. merge m:m PROVINCE Year using  宏观数据

  2. Result                           # of obs.
  3.     -----------------------------------------
  4.     not matched                         7,455
  5.         from master                     7,385  (_merge==1)
  6.         from using                         70  (_merge==2)

  7.     matched                            20,739  (_merge==3)
  8.     -----------------------------------------
复制代码
  1. . merge m:1 PROVINCE Year using  宏观数据
  2.     Result                           # of obs.
  3.     -----------------------------------------
  4.     not matched                         7,455
  5.         from master                     7,385  (_merge==1)
  6.         from using                         70  (_merge==2)

  7.     matched                            20,739  (_merge==3)
  8.     -----------------------------------------
复制代码

7
zdlspace 学生认证  发表于 2022-4-10 19:07:30
lar066 发表于 2022-4-10 17:14
谢谢!这个方法也试过了,匹配不上。merge多对多和多对一匹配结果一样
代码是没错的,问题在于两个数据库省市名称有些是不一样的,你要检查一下了,比如新疆自治区是否不一致,可能一个是简写为新疆,一个全称

8
lar066 学生认证  发表于 2022-4-10 20:59:27
zdlspace 发表于 2022-4-10 19:07
代码是没错的,问题在于两个数据库省市名称有些是不一样的,你要检查一下了,比如新疆自治区是否不一致, ...
请问,还有别的命令没有?仔细检查省份名称,并无不一致之处

9
黃河泉 在职认证  发表于 2022-4-10 21:51:07
lar066 发表于 2022-4-10 17:14
谢谢!这个方法也试过了,匹配不上。merge多对多和多对一匹配结果一样
建议不要用 merge m:m ...

10
zdlspace 学生认证  发表于 2022-4-10 22:37:01
lar066 发表于 2022-4-10 20:59
请问,还有别的命令没有?仔细检查省份名称,并无不一致之处
可以肯定的是,这个代码是没错的,因为已经匹配成功20739个观测值了。跑一下下面的代码,并把结果贴上来看看。
  1. use 微观数据,clear
  2. levelsof PROVINCE

  3. use 宏观数据,clear
  4. levelsof PROVINCE
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-4 07:42