楼主: 沉默的烽火
2124 6

[编程问题求助] 求助不连续年份样本平均值插值问题 [推广有奖]

  • 5关注
  • 16粉丝

讲师

31%

还不是VIP/贵宾

-

威望
0
论坛币
637 个
通用积分
42.3361
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
625 点
帖子
149
精华
0
在线时间
526 小时
注册时间
2017-10-17
最后登录
2024-7-16

楼主
沉默的烽火 学生认证  发表于 2019-5-30 16:04:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据样本如下所示,我需要的gini_adjust样本在年份上是不连续的,而且年份之间的间隔也是不是等额的,加入我想在相邻两个有数据的年份间用着两个年份的均值填充,请问应该如何实现呢?
例如现在有2000,2003,2004,2008四个年份,2001-2002就用(2000+2003)/2填充,2005-2007就用(2008+2004)/2的对应值填充。
水平有限,目前自己尝试的几个思路都没有成功,求大神帮助,万分感谢

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(id year) double gini_adjust
  4. 1 2008 29.049999237060547
  5. 2 2002 31.790000915527344
  6. 2 2003                  .
  7. 2 2004                  .
  8. 2 2005 30.649999618530273
  9. 2 2006                  .
  10. 2 2007                  .
  11. 2 2008 30.030000686645508
  12. 2 2009                  .
  13. 2 2010                  .
  14. 2 2011                  .
  15. 2 2012 29.010000228881836
  16. 2 2013                  .
  17. 2 2014                  .
  18. 3 2011               27.6
  19. 3 2012 27.670000076293945
  20. 3 2013                  .
  21. 3 2014                  .
  22. 4 2001 26.510000228881836
  23. 4 2002 26.809999465942383
  24. 4 2003 27.260000228881836
  25. 4 2004                  .
  26. 4 2005                  .
  27. 4 2006                  .
  28. 4 2007                  .
  29. 4 2008                  .
  30. 4 2009                  .
  31. 4 2010                  .
  32. 4 2011                  .
  33. 4 2012                  .
  34. 4 2013                  .
  35. 4 2014                  .
  36. 5 2000                 52
  37. 5 2001   52.0099983215332
  38. 5 2002                  .
  39. 5 2003                  .
  40. 5 2004                  .
  41. 5 2005                  .
  42. 5 2006                  .
  43. 5 2007                  .
  44. 5 2008               42.7
  45. 5 2009  42.77000045776367
  46. 5 2010                  .
  47. 5 2011                  .
  48. 5 2012                  .
  49. 5 2013                  .
  50. 5 2014                  .
  51. 6 2000  48.29999923706055
  52. 6 2001  50.20000076293945
  53. 6 2002  51.29999923706055
  54. 6 2003  50.70000076293945
  55. 6 2004  45.79999923706055
  56. 6 2005  45.29999923706055
  57. 6 2006  44.20000076293945
  58. 6 2007 43.900001525878906
  59. 6 2008                 42
  60. 6 2009 48.900001525878906
  61. 6 2010 40.400001525878906
  62. 6 2011 39.599998474121094
  63. 6 2012               38.5
  64. 6 2013 38.099998474121094
  65. 6 2014 38.400001525878906
  66. 7 2000 48.599998474121094
  67. 7 2001  35.40999984741211
  68. 7 2002  34.83000183105469
  69. 7 2003  54.29999923706055
  70. 7 2004 37.560001373291016
  71. 7 2005 36.040000915527344
  72. 7 2006 29.760000228881836
  73. 7 2007                  .
  74. 7 2008  33.82500076293945
  75. 7 2009  35.42499923706055
  76. 7 2010             36.125
  77. 7 2011                  .
  78. 7 2012 29.649999618530273
  79. 7 2013   30.6299991607666
  80. 7 2014 31.530000686645508
  81. 8 2000 27.899999618530273
  82. 8 2001  37.79999923706055
  83. 8 2002 30.899999618530273
  84. 8 2003             36.125
  85. 8 2004               46.5
  86. 8 2005                  .
  87. 8 2006                  .
  88. 8 2007                  .
  89. 8 2008  37.92499923706055
  90. 8 2009                  .
  91. 8 2010 28.299999237060547
  92. 8 2011 28.299999237060547
  93. 8 2012  46.29999923706055
  94. 8 2013                  .
  95. 8 2014  48.29999923706055
  96. 9 2000 25.799999237060547
  97. 9 2001                 24
  98. 9 2002                  .
  99. 9 2003 29.459999084472656
  100. 9 2004 29.790000915527344
  101. 9 2005 28.709999084472656
  102. 9 2006  29.59000015258789
  103. 9 2007  32.82500076293945
  104. end
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:平均值 generated generate install example

沙发
黃河泉 在职认证  发表于 2019-5-30 17:42:13
跟你要求的可能不太一样,但可试试。请先 ssc install mipolate,然后
  1. xtset id year
  2. tsfill, full

  3. bys id: mipolate gini_adjust year, gen(ng)
复制代码

藤椅
沉默的烽火 学生认证  发表于 2019-5-31 09:32:32
黃河泉 发表于 2019-5-30 17:42
跟你要求的可能不太一样,但可试试。请先 ssc install mipolate,然后
谢谢黄老师,我学习一下~

板凳
逍遥梦蝶 发表于 2019-5-31 16:14:40
黃河泉 发表于 2019-5-30 17:42
跟你要求的可能不太一样,但可试试。请先 ssc install mipolate,然后
  1. xtset id year

  2. sort id year
  3. gen nonmissinglag = gini_adjust
  4. by id: carryforward nonmissinglag, replace

  5. gsort id -year
  6. gen nonmissingfuture = gini_adjust
  7. by id: carryforward nonmissingfut, replace

  8. sort id year
  9. gen gini_adjust_new = gini_adjust
  10. replace gini_adjust_new = (nonmissinglag + nonmissingfuture)/2 if missing(gini_adjust)
复制代码
You may need to think about in terms of a case that there are no values till the end of your sample period. For example, id 4 from 2004 to 2017. Taking the average of leading and ending non-missing values in a time series of an individual cannot be applied to this scenario. Hope this helpful. Dr. Huang may have a double check the correctness of this code.

报纸
朝露映彩衣 学生认证  发表于 2020-7-3 23:29:50
逍遥梦蝶 发表于 2019-5-31 16:14
You may need to think about in terms of a case that there are no values till the end of your sampl ...
谢谢您!
请问如果是想根据第2年、第3年的数据,填补第1年的缺失数据用什么命令比较好呢?
您列举的carryforward好像只能由前推后。

地板
逍遥梦蝶 发表于 2020-7-4 09:23:22
朝露映彩衣 发表于 2020-7-3 23:29
谢谢您!
请问如果是想根据第2年、第3年的数据,填补第1年的缺失数据用什么命令比较好呢?
您列举的car ...
重新排序一下不就得了。

7
朝露映彩衣 学生认证  发表于 2020-7-4 13:25:20
逍遥梦蝶 发表于 2020-7-4 09:23
重新排序一下不就得了。
好吧,谢谢!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-5 17:16