如何为个人/公司在上一个观察年度之后增加额外的年数



我在Stata中有一个不平衡的面板数据集。从1993年到2013年的观测。变量bankrupcty year表示每个公司破产的年份。问题是我的Stata文件在每家公司破产前两年就丢失了。也就是说,一家公司在2003年破产,最后一次观察该公司是在2002年或2001年。然而,我确实想为公司破产的时间创建一个虚拟变量,但由于我错过了那一年,因此无法执行命令:

gen bankrupt=0
replace bankrupt=1 if year==bankruptcyyear

我要做的是为每个公司添加年份,这样我就可以将虚拟变量添加到正确的破产年份。

orgnumber year bankruptcyyear
810037342 2009    0
810037342 2010    0
810037342 2011    0
810037342 2012    0
810044292 1993 2006
810044292 1994 2006
810044292 1995 2006
810044292 1996 2006
810044292 1997 2006
810044292 1998 2006
810044292 1999 2006
810044292 2000 2006
810044292 2001 2006
810044292 2002 2006
810044292 2003 2006
810044292 2004 2006
810044292 2005 2006
810059672 1995    0
810059672 1996    0
810059672 2000    0

这可能有帮助。注意,expand忽略所有参数<2.

clear 
input long orgnumber year bankruptcyyear
810037342 2009    0
810037342 2010    0
810037342 2011    0
810037342 2012    0
810044292 1993 2006
810044292 1994 2006
810044292 1995 2006
810044292 1996 2006
810044292 1997 2006
810044292 1998 2006
810044292 1999 2006
810044292 2000 2006
810044292 2001 2006
810044292 2002 2006
810044292 2003 2006
810044292 2004 2006
810044292 2005 2006
810059672 1995    0
810059672 1996    0
810059672 2000    0
end 
bysort orgnumber (year) : gen toexpand = cond(_n == _N, 1 + bankruptcyyear - year[_N], 0) 
expand toexpand 
bysort orgnumber (year) : replace year = year[_n-1] + 1 if toexpand 
list, sepby(orgnumber) 
     +----------------------------------------+
     | orgnumber   year   bankru~r   toexpand |
     |----------------------------------------|
  1. | 810037342   2009          0          0 |
  2. | 810037342   2010          0          0 |
  3. | 810037342   2011          0          0 |
  4. | 810037342   2012          0      -2011 |
     |----------------------------------------|
  5. | 810044292   1993       2006          0 |
  6. | 810044292   1994       2006          0 |
  7. | 810044292   1995       2006          0 |
  8. | 810044292   1996       2006          0 |
  9. | 810044292   1997       2006          0 |
 10. | 810044292   1998       2006          0 |
 11. | 810044292   1999       2006          0 |
 12. | 810044292   2000       2006          0 |
 13. | 810044292   2001       2006          0 |
 14. | 810044292   2002       2006          0 |
 15. | 810044292   2003       2006          0 |
 16. | 810044292   2004       2006          0 |
 17. | 810044292   2005       2006          2 |
 18. | 810044292   2006       2006          2 |
     |----------------------------------------|
 19. | 810059672   1995          0          0 |
 20. | 810059672   1996          0          0 |
 21. | 810059672   1997          0      -1999 |
     +----------------------------------------+

相关内容

最新更新