楼主: yuminli
9456 7

[面板数据求助] merge之后出现两个年份的问题 [推广有奖]

  • 1关注
  • 1粉丝

硕士生

51%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0.1818
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
843 点
帖子
27
精华
0
在线时间
313 小时
注册时间
2018-4-9
最后登录
2021-8-14

楼主
yuminli 发表于 2018-7-2 10:07:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教大家,我merge之后出现(note: variable id was long, now double to accommodate using data's values)
(note: variable year was int, now float to accommodate using data's values)
我检查了数据,发现原来merge的两边数据都是一个id一个year ;但是,merge之后,发现有些一个id对应了两个相同年份的数据。请教这是什么原因?非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Merge Variable values double value

沙发
黃河泉 在职认证  发表于 2018-7-2 10:45:11
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

藤椅
yuminli 发表于 2018-7-2 10:58:59
黃河泉 发表于 2018-7-2 10:45
你若要问程序,永远附上资料;若要附上资料,永远用 dataex 印出资料;先 ssc install dataex (并见说明), ...
谢谢老师提醒。
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float year double(Volatility_Yr id sale fsale) byte _merge
  4. 2005 .025477 1  4557763312 0 3
  5. 2006 .026946 1  6788985745 0 3
  6. 2007 .036265 1 10291531000 0 3
  7. 2008 .041646 1 13563220000 0 3
  8. 2009 .030455 1 14293863000 0 3
  9. 2010 .023256 1 17561832000 0 3
  10. 2011 .016859 1 29087326000 0 3
  11. 2012 .014846 1 38911398000 0 3
  12. 2013 .031122 1  5.1294e+10 0 3
  13. 2014 .020777 1  7.0637e+10 0 3
  14. 2015 .028396 1  9.2705e+10 0 3
  15. 2016 .012121 1 1.04416e+11 0 3
  16. 2005 .026392 2 10558851684 0 3
  17. 2005 .021409 2 10558851684 0 3
  18. 2006 .029271 2 17848210282 0 3
  19. 2006 .030627 2 17848210282 0 3
  20. 2007 .039814 2 35526611302 0 3
  21. 2007 .036502 2 35526611302 0 3
  22. 2008 .042932 2 40991779215 0 3
  23. 2008 .041711 2 40991779215 0 3
  24. 2009 .028293 2 48881013143 0 3
  25. 2009 .028112 2 48881013143 0 3
  26. 2010  .02273 2 50713851443 0 3
  27. 2010 .024256 2 50713851443 0 3
  28. 2011 .026135 2 71782749801 0 3
  29. 2011 .017408 2 71782749801 0 3
  30. 2012 .018162 2 1.03116e+11 0 3
  31. 2012 .019105 2 1.03116e+11 0 3
  32. 2013 .024697 2 1.35419e+11 0 3
  33. 2013 .024505 2 1.35419e+11 0 3
  34. 2014 .022521 2 1.46388e+11 0 3
  35. 2014 .022514 2 1.46388e+11 0 3
  36. 2015 .031416 2 1.95549e+11 0 3
  37. 2015       . 2 1.95549e+11 0 3
  38. 2016       . 2 2.40477e+11 0 3
  39. 2016 .034871 2 2.40477e+11 0 3
  40. end
  41. label values id industrynew
  42. label def industrynew 1 "C000001", modify
  43. label def industrynew 2 "C000002", modify
  44. label def industrynew 3 "C000003", modify
  45. label def industrynew 4 "C000004", modify
  46. label def industrynew 5 "C000005", modify
  47. label def industrynew 6 "C000006", modify
  48. label def industrynew 7 "C000007", modify
  49. label def industrynew 8 "C000008", modify
  50. label values _merge _merge
  51. label def _merge 1 "master only (1)", modify
  52. label def _merge 3 "matched (3)", modify
复制代码

板凳
黃河泉 在职认证  发表于 2018-7-2 15:44:23
yuminli 发表于 2018-7-2 10:58
谢谢老师提醒。
这是合并后的吧,没有帮助?你应该把合并前两个档 show 出"代表性"(会造成问题的)之资料与你的指令!

报纸
yuminli 发表于 2018-7-2 23:59:54
黃河泉 发表于 2018-7-2 15:44
这是合并后的吧,没有帮助?你应该把合并前两个档 show 出"代表性"(会造成问题的)之资料与你的指令!
合并前的(1)
year        Volatility_Yr        id
2005        .021409        C000002
2006        .029271        C000002
2007        .039814        C000002
2008        .041711        C000002
2009        .028293        C000002
2010        .02273        C000002
合并前的(2)
id        year        sale
2        2005        1.1e+10
2        2006        1.8e+10
2        2007        3.6e+10
2        2008        4.1e+10
2        2009        4.9e+10
2        2010        5.1e+10
合并命令:
merge m:m id year using sale
合并后的:
year Volatility_Yr id sale
2005 .026392 2 10558851684
2005 .021409 2 10558851684
2006 .029271 2 17848210282
2006 .030627 2 17848210282
2007 .039814 2 35526611302
2007 .036502 2 35526611302
2008 .042932 2 40991779215
2008 .041711 2 40991779215
2009 .028293 2 48881013143
2009 .028112 2 48881013143
2010  .02273 2 50713851443
2010 .024256 2 50713851443

地板
yuminli 发表于 2018-7-3 00:06:05
黃河泉 发表于 2018-7-2 15:44
这是合并后的吧,没有帮助?你应该把合并前两个档 show 出"代表性"(会造成问题的)之资料与你的指令!
合并的结果
merge m:m id year using sale
(note: variable id was long, now double to accommodate using data's values)
(note: variable year was int, now float to accommodate using data's values)

    Result                           # of obs.
    -----------------------------------------
    not matched                        34,630
        from master                    15,093  (_merge==1)
        from using                     19,537  (_merge==2)

    matched                            11,668  (_merge==3)
    -----------------------------------------
不明白的是合并之后有些id多了一个年份的记录,对应两条记录了。

7
qiangli 发表于 2018-7-3 06:16:31 来自手机
为什么用m:m

8
黃河泉 在职认证  发表于 2018-7-3 06:55:57
yuminli 发表于 2018-7-3 00:06
合并的结果
merge m:m id year using sale
(note: variable id was long, now double to accommodate u ...
你几乎一辈子都不应该用 merge m:m!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 11:41