2012-04-20 188 views

回答

3

//下面是与增长的另一项措施的例子:

clear 
set obs 100 
gen year = _n + 1959 
gen expenditure = _n^(1/3) + runiform() 
line expenditure year, yti("Synthetic data example") 

// From Statalist

bys year: g expendituregrowth=100*(expenditure[_n]-expenditure[_n-1])/expenditure[_n-1] 

//另外:

gen expenditure_gr = (expenditure/expenditure[_n-1] - 1)*100 // growth rate for expenditure 
gen expenditure_bl = 100*expenditure/expenditure[1] // baseline growth rate for expenditure; base 100 = 1960 

line expenditure_gr year, yti("Growth rate") 
line expenditure_bl year, yti("Growth rate (base 100 = 1960)") 

//的expenditure_gr计算是什么,我认为你正在寻找。

//如果都能很好地形成你的数据,使用Stata的时间序列,并获得轻松的增长速度:

tsset year, delta(1) 
cap drop expenditure_gr 
gen expenditure_gr = D.expenditure/100*L.expenditure 
+2

最后一行只会造成的差异;为了创造相当于您之前定义的exp_gr的增长率,它应该是'gen exp_gr = D.exp/L.exp * 100'。另外'exp'是一个可变的绝对可怕的名字:如果你忘了'EXP *(stuff1 + stuff2)'乘号,你会花一个小时去找这个bug(一旦有人指出,你的数字是非常大) 。 – StasK 2012-04-21 15:34:44

+0

两个更正都是正确的;修正。 – 2012-04-22 17:30:49

+0

非常好,谢谢。对不起,接受这么长时间来接受你的答案,但它是非常有帮助的。 – 2012-05-02 14:03:31