2012-04-20 1531 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