如何使用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")
Run Code Online (Sandbox Code Playgroud)
//来自集权主义者:
bys year: g expendituregrowth=100*(expenditure[_n]-expenditure[_n-1])/expenditure[_n-1]
Run Code Online (Sandbox Code Playgroud)
// 还:
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)")
Run Code Online (Sandbox Code Playgroud)
expenditure_gr//我认为您正在寻找的计算。
// 如果你的数据结构良好,使用 Stata 与时间序列并轻松获得增长率:
tsset year, delta(1)
cap drop expenditure_gr
gen expenditure_gr = D.expenditure / 100*L.expenditure
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33403 次 |
| 最近记录: |