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