2
如何使用gen
或egen
命令生成不同年在Stata觀測值之間的百分比變化?例如,我對1990年觀測到2010年,每對支出不同的值,我想生成一個與1990 - 1991年,1991 - 1992年變化率的新的觀察等在Stata年度觀測值之間生成百分比變化?
如何使用gen
或egen
命令生成不同年在Stata觀測值之間的百分比變化?例如,我對1990年觀測到2010年,每對支出不同的值,我想生成一個與1990 - 1991年,1991 - 1992年變化率的新的觀察等在Stata年度觀測值之間生成百分比變化?
//下面是與增長的另一項措施的例子:
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
最後一行只會造成的差異;爲了創造相當於您之前定義的exp_gr的增長率,它應該是'gen exp_gr = D.exp/L.exp * 100'。另外'exp'是一個可變的絕對可怕的名字:如果你忘了'EXP *(stuff1 + stuff2)'乘號,你會花一個小時去找這個bug(一旦有人指出,你的數字是非常大) 。 – StasK 2012-04-21 15:34:44
兩個更正都是正確的;修正。 – 2012-04-22 17:30:49
非常好,謝謝。對不起,接受這麼長時間來接受你的答案,但它是非常有幫助的。 – 2012-05-02 14:03:31