在Stata中生成年度观测值之间的百分比变化?

在Stata中生成年度观测值之间的百分比变化?,stata,Stata,如何使用gen或egen命令生成Stata中不同年份观测值之间的百分比变化?例如,我有从1990年到2010年的观察结果,每一个都有不同的支出值,我试图用1990-1991年、1991-1992年等的百分比变化生成一个新的观察结果。//下面是另一个衡量增长的例子: clear set obs 100 gen year = _n + 1959 gen expenditure = _n^(1/3) + runiform() line expenditure year, yti("Synthetic

如何使用
gen
egen
命令生成Stata中不同年份观测值之间的百分比变化?例如,我有从1990年到2010年的观察结果,每一个都有不同的支出值,我试图用1990-1991年、1991-1992年等的百分比变化生成一个新的观察结果。

//下面是另一个衡量增长的例子:

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

//此外:

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)")
//我想你要找的是开支的计算

//如果您的数据格式正确,请将Stata与时间序列结合使用,轻松获得增长率:

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

最后一行只会产生差异;要创建与先前定义的
exp\u gr
相当的增长率,它应该是
gen exp\u gr=D.exp/L.exp*100
。另外,
exp
对于一个变量来说绝对是一个糟糕的名字:如果你在
exp*(stuff1+stuff2)
中忘记了乘法符号,你会花一个小时寻找这个错误(一旦有人注意到你的数字非常大)。非常好,谢谢。很抱歉花了这么长时间才接受你的答案,但这很有帮助。您好,我浏览了这篇文章,想知道获取数据集投影的正确方法是
xtset
,是否是
bys面板日期:gen variable\u gr=D.variable/L.variable*100
?不使用
bys
前缀运行命令返回未排序错误。听起来不错。您可以在计算之前将数据作为单独的命令进行排序。
tsset year, delta(1)
cap drop expenditure_gr
gen expenditure_gr = D.expenditure / 100*L.expenditure