楼主: 姜小花花
5711 16

[面板数据求助] stata 样本时间间断识别问题 [推广有奖]

  • 0关注
  • 2粉丝

硕士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0009
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
525 点
帖子
47
精华
0
在线时间
203 小时
注册时间
2019-4-2
最后登录
2021-7-21

楼主
姜小花花 学生认证  发表于 2021-5-26 21:54:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想请教论坛里各位,就是在我所用到数据库里,有的id 在t-1期存在,t 期消失,t+1期又出现在数据库中,这类样本怎么在stata中用相关命令识别出来呢?用到的变量为 penal_id和时间year,例如:penal_id是409195(第四行)出现的年份为2008年和2010年,中间2009年不存在。像这类样本该怎么使用stata命令实现?此外,对于连续存在一定时间的penal_id是409194(第一行)的个体,存在时间是连续的,为2008-2010年,我要怎么创建一个新的变量可以表示存续时间为3年?救救孩子吧
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input float penal_id int year
  5. 409194 2008
  6. 409194 2009
  7. 409194 2010
  8. 409195 2008
  9. 409195 2010
  10. 409196 2010
  11. 409197 2011
  12. 409197 2012
  13. 409197 2013
  14. 409198 2008
  15. 409199 2008
  16. 409199 2009
  17. 409199 2010
  18. 409200 2008
  19. 409201 2008
  20. 409201 2009
  21. 409201 2010
  22. 409201 2011
  23. 409201 2012
  24. 409201 2013
  25. 409202 2008
  26. 409202 2009
  27. 409202 2010
  28. 409202 2012
  29. 409202 2013
  30. 409202 2014
  31. 409203 2009
  32. 409204 2008
  33. 409204 2009
  34. 409204 2010
  35. 409204 2011
  36. 409204 2012
  37. 409204 2013
  38. 409204 2014
  39. 409205 2008
  40. 409205 2010
  41. 409206 2008
  42. 409206 2009
  43. 409206 2010
  44. 409206 2011
  45. 409206 2012
  46. 409206 2013
  47. 409207 2008
  48. 409207 2010
  49. 409207 2011
  50. 409207 2012
  51. 409207 2013
  52. 409207 2014
  53. end
复制代码

[/code]


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata generated generate install stata

沙发
黃河泉 在职认证  发表于 2021-5-27 11:11:45
我不是看的很懂你要什么,但底下可能是一个开头 (ssc install tsspell):
  1. xtset penal_id year
  2. gen d = 1
  3. tsfill
  4. tsspell d
复制代码

藤椅
姜小花花 学生认证  发表于 2021-5-27 11:31:24
黃河泉 发表于 2021-5-27 11:11
我不是看的很懂你要什么,但底下可能是一个开头 (ssc install tsspell):
老师,可能是我表达的不清楚。就是数据本身为非平衡面板,如何能够识别出某个体存在年份是不连续的,像我例举的penal_id是409195的样本出现的年份为2008年和2010年,中间2009年不存在。而penal_id是409194的样本,存在时间是连续的,为2008-2010年的。像这类情况的样本能否可以筛选出来?

板凳
黃河泉 在职认证  发表于 2021-5-27 12:09:41
姜小花花 发表于 2021-5-27 11:31
老师,可能是我表达的不清楚。就是数据本身为非平衡面板,如何能够识别出某个体存在年份是不连续的,像我 ...
你只要 2008-2010 年的连续资料吗?

报纸
姜小花花 学生认证  发表于 2021-5-27 13:28:38
黃河泉 发表于 2021-5-27 12:09
你只要 2008-2010 年的连续资料吗?
样本的时间是连续的,不仅仅是08-10年的,因为不同Id的连续时间不同,但是想要识别出来!因为不同id首次出现在数据库中的年份不同,所以那些是连续时间的id所对应的时间段也不同。我只想保留这些从第一次出现到结束年份是连续存在的,那些间断出现的样本剔除!

地板
黃河泉 在职认证  发表于 2021-5-27 15:02:52
姜小花花 发表于 2021-5-27 13:28
样本的时间是连续的,不仅仅是08-10年的,因为不同Id的连续时间不同,但是想要识别出来!因为不同id ...
若我没误解,试试
  1. xtset penal_id year
  2. gen d = 1
  3. tsfill
  4. bys penal_id: egen tem1 = count(d)
  5. bys penal_id: gen tem2 = _N
  6. keep if tem1 == tem2
复制代码

7
姜小花花 学生认证  发表于 2021-5-28 09:33:46
黃河泉 发表于 2021-5-27 15:02
若我没误解,试试
十分感谢老师!是我想要的结果,学习了学习了!

8
黃河泉 在职认证  发表于 2021-5-28 09:45:25
姜小花花 发表于 2021-5-28 09:33
十分感谢老师!是我想要的结果,学习了学习了!
Great to hear that.

9
姜小花花 学生认证  发表于 2021-5-28 10:56:00
黃河泉 发表于 2021-5-28 09:45
Great to hear that.
老师,我能再向您咨询一个问题吗?样本时期为(98-13年),所选样本为持续存在一段时间的数据(根据老师您指导的命令筛选出来啦),那我现在想要创建一个变量“failure”,其中,①对持续到13年的样本:所持续的相应年份阶段全赋值为0;(如某id在数据库存在年份为09-13,那么failure全为0:0 0 0 0 0)②对在13年前退出了数据库的样本:最后一年赋值为1,其余年份为0。(如某在数据库存在年份为09-11,那么failure在11年赋值为1,09-10年赋值为0:0 0 1)
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input float id2 int year
  5. 1 2011
  6. 2 2008
  7. 2 2009
  8. 2 2010
  9. 2 2011
  10. 2 2012
  11. 2 2013
  12. 3 2008
  13. 3 2009
  14. 3 2010
  15. 3 2011
  16. 3 2012
  17. 3 2013
  18. 4 2008
  19. 4 2009
  20. 4 2010
  21. 4 2011
  22. 4 2012
  23. 4 2013
  24. 5 2008
  25. 5 2009
  26. 5 2010
  27. 5 2011
  28. 5 2012
  29. 5 2013
  30. 6 2008
  31. 6 2009
  32. 6 2010
  33. 6 2011
  34. 6 2012
  35. 7 2006
  36. 7 2007
  37. 8 2008
  38. 8 2009
  39. 8 2010
  40. 8 2011
  41. 8 2012
  42. 8 2013
  43. 9 2008
  44. 10 2006
  45. 10 2007
  46. 11 2008
  47. 11 2009
  48. 11 2010
  49. 11 2011
  50. 11 2012
  51. 11 2013
  52. 12 2008
  53. 12 2009
  54. 12 2010
  55. 12 2011
  56. 12 2012
  57. 12 2013
  58. 13 2008
  59. 13 2009
  60. 13 2010
  61. 13 2011
  62. 13 2012
  63. 13 2013
  64. 14 2008
  65. 14 2009
  66. 14 2010
  67. 14 2011
  68. 14 2012
  69. 14 2013
  70. 15 2008
  71. 15 2009
  72. 15 2010
  73. 16 2008
  74. 16 2009
  75. 16 2010
  76. 16 2011
  77. 16 2012
  78. 16 2013
  79. 17 2007
  80. 17 2008
  81. 17 2009
  82. 17 2010
  83. 17 2011
  84. 17 2012
  85. 17 2013
  86. 18 2010
  87. 18 2011
  88. 18 2012
  89. 18 2013
  90. 19 2008
  91. 19 2009
  92. 19 2010
  93. 19 2011
  94. 19 2012
  95. 19 2013
  96. 20 2008
  97. 20 2009
  98. 20 2010
  99. 21 2010
  100. 22 2008
  101. 22 2009
  102. 22 2010
  103. 23 2008
  104. 23 2009
  105. end
复制代码
[/code]
这样能通过stata批量处理吗?

10
黃河泉 在职认证  发表于 2021-5-28 11:49:42
姜小花花 发表于 2021-5-28 10:56
老师,我能再向您咨询一个问题吗?样本时期为(98-13年),所选样本为持续存在一段时间的数据(根据老师您 ...
无法理解你的问题。

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

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