我在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 |
+----------------------------------------+