楼主: 姜小花花
5827 16

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

11
姜小花花 学生认证  发表于 2021-5-28 12:07:35
黃河泉 发表于 2021-5-28 11:49
无法理解你的问题。
因为自己想生成一个虚拟变量来判断样本企业的退出状态(failure)。在 t 期时企业存在于样本之中,而 t+1 期及之后企业不存在于样本中,此时可以认为企业退出。据stata操作剔除了不连续的企业,在连续的企业中,例如企业1存活了2000-2002,2002年后不存在了。那么2000-2002年failure赋值0 0 1。如果企业在样本区间的最大年份即 2013年仍然存活于数据库中(2011-2013),那么2011-2013年failure赋值0 0 0
不知道这样黄老师是否看得明白?我为表达意思不清楚表示抱歉!

12
黃河泉 在职认证  发表于 2021-5-28 15:04:23
姜小花花 发表于 2021-5-28 12:07
因为自己想生成一个虚拟变量来判断样本企业的退出状态(failure)。在 t 期时企业存在于样本之中,而 t+1 ...
请用你的资料举例!

13
姜小花花 学生认证  发表于 2021-5-28 15:25:03
黃河泉 发表于 2021-5-28 15:04
请用你的资料举例!
结合我上面所述,样本期为(98-13),生成一个虚拟变量来判断样本企业的退出状态(failure),在 t 期时企业存在于样本之中,而 t+1 期及之后企业不存在于样本中,此时可以认为企业退出。只要是在2013年之前退出数据库的样本企业,在最后一年failure赋值为1.此外,当企业在样本区间的最大年份即 2013年仍然存活于数据库中,则failure在2013年赋值为0
举例如下所示(下表是想要的结果):id1 仅存2011年一年,则exit赋值为1;id2 存在年份为2008-2013年,则exit赋值为0 0 0 0 0 0;id7存在年份为2006-2007年,则exit赋值为0 1
因为总样本数据量大,不知道怎么通过命令可以批量处理。
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input float id int year float failure
  5. 1 2011 1
  6. 2 2008 0
  7. 2 2009 0
  8. 2 2010 0
  9. 2 2011 0
  10. 2 2012 0
  11. 2 2013 0
  12. 3 2008 0
  13. 3 2009 0
  14. 3 2010 0
  15. 3 2011 0
  16. 3 2012 0
  17. 3 2013 0
  18. 4 2008 0
  19. 4 2009 0
  20. 4 2010 0
  21. 4 2011 0
  22. 4 2012 0
  23. 4 2013 0
  24. 5 2008 0
  25. 5 2009 0
  26. 5 2010 0
  27. 5 2011 0
  28. 5 2012 0
  29. 5 2013 0
  30. 6 2008 0
  31. 6 2009 0
  32. 6 2010 0
  33. 6 2011 0
  34. 6 2012 1
  35. 7 2006 0
  36. 7 2007 1
  37. end
复制代码
[/code]

14
zzf865093 发表于 2021-8-25 17:37:01
姜小花花 发表于 2021-5-28 15:25
结合我上面所述,样本期为(98-13),生成一个虚拟变量来判断样本企业的退出状态(failure),在 t 期时企 ...
我猜你是用OP法计算企业TFP,并且使用的是中国工业企业数据库。
然后你的提问意思应该是如何生成企业退出市场的虚拟变量Exit。
你的想法可能是:
第一步(这一步本人存疑,见后文),剔除在整体的观察区间内(即1998-2013年)存续年份不连续的个体,这一点黄老师的回答已完美解决。
第二步,生成变量Exit,要求:若企业在下一年退出市场且于观察期内不复进入时取1,否则取0;特别地,当企业在2013年存续时取0。
我的做法是:
sort year
bysort id: gen Exit = (_n == _N)
replace Exit = 0 if year == 2013
我的问题是:
第一步是否必要?是否需要将存续序列不连续的个体进行剔除?如果需要,请告知具体出处和缘由。
期待你的回复!

15
zzf865093 发表于 2021-8-25 18:15:25
zzf865093 发表于 2021-8-25 17:37
我猜你是用OP法计算企业TFP,并且使用的是中国工业企业数据库。
然后你的提问意思应该是如何生成企业退出 ...
有一个小问题,把sort year这一行删掉,改为xtset id year

16
pengxhan 发表于 2021-8-28 10:04:41
clear
input float id2 int year
1 2011
2 2008
2 2009
2 2010
2 2011
2 2012
2 2013
3 2008
3 2009
3 2010
3 2011
3 2012
3 2013
4 2008
4 2009
4 2010
4 2011
4 2012
4 2013
5 2008
5 2009
5 2010
5 2011
5 2012
5 2013
6 2008
6 2009
6 2010
6 2011
6 2012
7 2006
7 2007
8 2008
8 2009
8 2010
8 2011
8 2012
8 2013
9 2008
10 2006
10 2007
11 2008
11 2009
11 2010
11 2011
11 2012
11 2013
12 2008
12 2009
12 2010
12 2011
12 2012
12 2013
13 2008
13 2009
13 2010
13 2011
13 2012
13 2013
14 2008
14 2009
14 2010
14 2011
14 2012
14 2013
15 2008
15 2009
15 2010
16 2008
16 2009
16 2010
16 2011
16 2012
16 2013
17 2007
17 2008
17 2009
17 2010
17 2011
17 2012
17 2013
18 2010
18 2011
18 2012
18 2013
19 2008
19 2009
19 2010
19 2011
19 2012
19 2013
20 2008
20 2009
20 2010
21 2010
22 2008
22 2009
22 2010
23 2008
23 2009
end
gen tag=0
bysort id2: egen max=max(year)
replace tag=1 if year<2013 & year==max
按照你的叙述 似乎是这样

17
jane-reality 发表于 2021-9-1 16:24:22
黃河泉 发表于 2021-5-27 15:02
若我没误解,试试
学习了很多!多谢黄老师!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-29 14:44