温馨提示:本文翻译自stackoverflow.com,查看原文请点击:stata - Keep firms with four consecutive years
stata

stata - 保持公司连续四年

发布于 2020-04-30 15:03:09

我正在使用ExecuComp / Compustat数据,看起来像这样:

  gvkey|Year |Ticker  |
-------|-----|--------|
 001111| 2006| abc    |
 001111| 2007| abc    |
 001111| 2008| abc    |
 001111| 2009| abc    |
 001112| 2006| www    |
 001112| 2009| www    |
 001113| 2008| ttt    |
 001114| 2010| vvv    |

我怎样才能只保留4连续观察多年的公司?

我尝试阅读FAQ和相关论坛问题,但似乎无法解决。

查看更多

提问者
nr1
被浏览
17
Pearly Spencer 2020-02-12 21:25

以下对我有用:

clear

input gvkey Year str3 Ticker
001111 2006 abc     
001111 2007 abc     
001111 2008 abc     
001111 2009 abc     
001112 2006 www     
001112 2009 www     
001113 2008 ttt     
001114 2010 vvv  
end

tsset gvkey Year

tsspell, f(L.Year == .) 

egen tag = max(_seq), by(gvkey _spell)

keep if tag == 4

list

     +----------------------------------------------------+
     | gvkey   Year   Ticker   _spell   _seq   _end   tag |
     |----------------------------------------------------|
  1. |  1111   2006      abc        1      1      0     4 |
  2. |  1111   2007      abc        1      2      0     4 |
  3. |  1111   2008      abc        1      3      0     4 |
  4. |  1111   2009      abc        1      4      1     4 |
     +----------------------------------------------------+