楼主: 唐老鸭gage
1020 4

[面板数据求助] 纵向数据中删掉同一id在多个年份中a=6的个案 [推广有奖]

  • 0关注
  • 0粉丝

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
286 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
566 点
帖子
30
精华
0
在线时间
125 小时
注册时间
2013-3-27
最后登录
2024-8-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
说明:数据是由4期数据合并而成,已将合并后只出现一次的id删除,所以同一id出现的次数是2-4。
求助问题:
1.如何将同一id,在不同年份,a取值全部为6和0的个案删除;
而后,
2.如何将同一id,比较不同年份a的取值,删掉同一id中,a(小年份)值大于a(大年份)值,如a(2008)大于a(2011)的个案,或a(2008)大于a(2014)的个案。

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long id float a int yearin
  4. 11000208  7 2008
  5. 11000208  8 2011
  6. 11000308  7 2008
  7. 11000308  9 2011
  8. 11000308  9 2014
  9. 11000808  6 2008
  10. 11000808 12 2011
  11. 11001008  7 2008
  12. 11001008 12 2011
  13. 11001108  6 2008
  14. 11001108  6 2011
  15. 11001208  8 2008
  16. 11001208  8 2011
  17. 11001208  9 2014
  18. 11001308 10 2008
  19. 11001308 11 2011
  20. 11001408  6 2008
  21. 11001408  6 2011
  22. 11001508  6 2008
  23. 11001508  6 2011
  24. 11001708  6 2008
  25. 11001708 11 2011
  26. 11001808  6 2008
  27. 11001808 11 2011
  28. 11002308  6 2008
  29. 11002308  6 2011
  30. 11002308  6 2014
  31. 11002508  8 2008
  32. 11002508  7 2011
  33. 11002508 14 2014
  34. 11002908  6 2008
  35. 11002908  6 2011
  36. 11002908  6 2014
  37. 11003008  6 2008
  38. 11003008  6 2011
  39. 11003008  6 2014
  40. 11003108  6 2008
  41. 11003108  6 2011
  42. 11003108  6 2014
  43. 11003708  6 2008
  44. 11003708  8 2011
  45. 11003808  6 2008
  46. 11003808  6 2011
  47. 11003808  6 2014
  48. 11003908  6 2008
  49. 11003908  6 2011
  50. 11003908 14 2014
  51. 11004308  6 2008
  52. 11004308  6 2011
  53. 11004308  8 2014
  54. 11004408  6 2008
  55. 11004408  6 2011
  56. 11004508  7 2008
  57. 11004508  9 2011
  58. 11004808  7 2008
  59. 11004808  6 2011
  60. 11005008  6 2008
  61. 11005008  6 2011
  62. 11005308  6 2008
  63. 11005308 16 2011
  64. 11005708  6 2008
  65. 11005708  6 2011
  66. 11006008  6 2008
  67. 11006008  6 2011
  68. 11006008  8 2014
  69. 11006108  6 2008
  70. 11006108  8 2011
  71. 11006108 14 2014
  72. 11006208  6 2008
  73. 11006208 16 2011
  74. 11006508  6 2008
  75. 11006508  6 2011
  76. 11006508 11 2014
  77. 11006608  6 2008
  78. 11006608  6 2011
  79. 11006608  6 2014
  80. 11006708  6 2008
  81. 11006708  6 2011
  82. 11006708  6 2014
  83. 11006908  6 2008
  84. 11006908  6 2011
  85. 11006908  6 2014
  86. 11007108  6 2008
  87. 11007108  6 2011
  88. 11007108 13 2014
  89. 11007408  6 2008
  90. 11007408  6 2011
  91. 11007408  6 2014
  92. 11007608  6 2008
  93. 11007608 12 2011
  94. 11007708  6 2008
  95. 11007708  6 2011
  96. 11007708  6 2014
  97. 11007808  6 2008
  98. 11007808  6 2011
  99. 11007908  6 2008
  100. 11007908  6 2011
  101. 11007908  6 2014
  102. 11009008  6 2008
  103. 11009008  6 2011
  104. end
复制代码



二维码

扫码加我 拉你入群

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

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

关键词:002908 002508 002308 不同年份 数据合并

沙发
黃河泉 在职认证  发表于 2019-3-1 18:24:19 |只看作者 |坛友微信交流群
看不懂你的说明,请举例说明。

使用道具

藤椅
唐老鸭gage 发表于 2019-3-2 19:19:30 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-3-1 18:24
看不懂你的说明,请举例说明。
黄老师您好!
第一个问题我自己编了一个命令,基本解决了。
第二个问题,我想删掉的是两类数据:一是,id出现2次,但后一期数据小于前一期,如第58、59行数据,同一id中,2011年a值(6)小于2008年的a值(7);二是,同一id出现3、4次,但最后一次数据小于前2或3期任一数据的可要删除,即只要保证最后一次出现的a值最大就可以,如第31、32、33行数据就要保留。
谢谢!

使用道具

板凳
黃河泉 在职认证  发表于 2019-3-3 12:11:19 |只看作者 |坛友微信交流群
唐老鸭gage 发表于 2019-3-2 19:19
黄老师您好!
第一个问题我自己编了一个命令,基本解决了。
第二个问题,我想删掉的是两类数据:一是, ...
试试
  1. bysort id (yearin): egen max_a = max(a)
  2. bysort id (yearin): generate todrop = a[_N] < max_a
复制代码

使用道具

报纸
唐老鸭gage 发表于 2019-3-4 10:45:31 |只看作者 |坛友微信交流群
黃河泉 发表于 2019-3-3 12:11
试试
谢谢黄老师!
命令已运行成功!
又让我学到了新东西,太感谢您了!

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-17 20:33