了解企业是否随着时间的推移进入或离开行业

问题描述 投票:0回答:2

我有一个有关公司信息的数据集:

clear
input firm_id str6 industry int fyear int
1084    7372    2010
1084    7375    2010
1084    7372    2011
1084    7375    2011
1084    7372    2012
1084    7375    2012
1084    7372    2013
1084    7375    2013
1084    7372    2014
1084    7375    2014
1094    2865    2002
1094    2879    2002
1094    5122    2002
1094    5169    2002
1094    2865    2003
1094    2879    2003
1094    5122    2003
1094    5169    2003
1094    2865    2004
1094    2879    2004
1094    5122    2004
1094    5169    2004
1094    2865    2005
1094    2879    2005
1094    5122    2005
1094    5169    2005
1094    2865    2006
1094    2879    2006
1094    5122    2006
1094    5169    2006
1094    2865    2007
1094    2879    2007
1094    5169    2007
1094    2865    2008
1094    2879    2008
end

除了firm_id,它还包含有关该公司在给定年份活跃的行业的信息。

我如何找到某一年公司离开并进入的行业数量?

[我知道我可以通过编写一个“循环中的循环”来执行此操作,该循环着眼于每个观察值,并检查firm_id +1是否存在相同的industryyear组合。但是我的数据集很大,因此效率极低。

我也考虑过使用reshape wide的解决方案,但也找不到我的问题的解决方案(当然,这会产生大量的变量,而且效率也不高。)]

[我有一个包含公司信息的数据集:清除输入firm_id str6 Industry int fyear int 1084 7372 2010 1084 7375 2010 1084 7372 2011 1084 7375 2011 1084 7372 ...

time-series stata panel-data
2个回答
1
投票

我看不到这里需要任何循环。但是需要的是精确而明确的规则。在这里,只要有记录的第一年在数据集中的第一年之后,就进入一个行业,而有记录的最后一年在数据集中的最后一年之前,则离开一个行业。此外,如果有记录的下一年超过一年,则企业离开该行业;如果有记录的前一年超过一年,则该公司进入该行业。这允许离开并重新进入,尽管这种变化可能不大。


0
投票

[如果您尝试针对每家公司与该公司每年进入和退出的行业数量生成一个单一的观察值,我相信以下代码应该有效。变量enterleave分别表示企业在给定观察中是否进入或存在该行业。在数据中使用多年的foreach循环,然后可以生成指示企业每年进入还是退出的每个变量。

© www.soinside.com 2019 - 2024. All rights reserved.