我有一个面板数据集,其中包含2006-2015年间的公司价值。
这看起来像下面的示例:
我想计算三年的复合年增长率:
我已经尝试使用以下命令:
bys tina: generate SalesGrowth=(Sales/L3.Sales)^(1/3) - 1 if mod(ano, 5) == 0
但是,尽管Stata生成了新变量,但是所有值都丢失了。
除了复合的年增长率外,我还可以简单地将增长率用于2009年和2006年的数据。但是,出现了同样的问题-没有创建观察值。
答案 0 :(得分:1)
考虑这个玩具示例:
clear
input tina ano Sales
500000069 2006 15000
500000069 2007 17000
500000069 2008 19000
500000069 2009 24000
500000069 2010 22000
500000069 2011 28000
500000069 2012 26000
500000069 2013 29000
500000069 2014 31000
500000069 2015 33000
500000087 2006 40000
500000087 2007 42000
500000087 2008 44000
500000087 2009 46000
500000087 2010 48000
500000087 2011 50000
500000087 2012 52000
500000087 2013 54000
500000087 2014 56000
500000087 2015 58000
end
format tina %9.0f
以下解决方案:
bysort tina: summarize ano
forvalues i = 1 / `= `r(N)' - 3' {
bysort tina (ano): generate SalesGrowth`i' = (Sales[`i'+3]/Sales[`i'])^(1/3) - 1
bysort tina (ano): replace SalesGrowth`i' = . if ano != ano[`i'+3]
}
准确估算您的需求:
. list
+-------------------------------------------------------------------------------------------------------+
| tina ano Sales SalesG~1 SalesG~2 SalesG~3 SalesG~4 SalesG~5 SalesG~6 SalesG~7 |
|-------------------------------------------------------------------------------------------------------|
1. | 500000064 2006 15000 . . . . . . . |
2. | 500000064 2007 17000 . . . . . . . |
3. | 500000064 2008 19000 . . . . . . . |
4. | 500000064 2009 24000 .1696071 . . . . . . |
5. | 500000064 2010 22000 . .0897442 . . . . . |
|-------------------------------------------------------------------------------------------------------|
6. | 500000064 2011 28000 . . .1379805 . . . . |
7. | 500000064 2012 26000 . . . .02704 . . . |
8. | 500000064 2013 29000 . . . . .0964574 . . |
9. | 500000064 2014 31000 . . . . . .0345097 . |
10. | 500000064 2015 33000 . . . . . . .0827134 |
|-------------------------------------------------------------------------------------------------------|
11. | 500000096 2006 40000 . . . . . . . |
12. | 500000096 2007 42000 . . . . . . . |
13. | 500000096 2008 44000 . . . . . . . |
14. | 500000096 2009 46000 .0476896 . . . . . . |
15. | 500000096 2010 48000 . .0455159 . . . . . |
|-------------------------------------------------------------------------------------------------------|
16. | 500000096 2011 50000 . . .043532 . . . . |
17. | 500000096 2012 52000 . . . .041714 . . . |
18. | 500000096 2013 54000 . . . . .0400419 . . |
19. | 500000096 2014 56000 . . . . . .0384988 . |
20. | 500000096 2015 58000 . . . . . . .0370703 |
+-------------------------------------------------------------------------------------------------------+