【发布时间】:2015-11-18 20:56:40
【问题描述】:
我想在 Stata 中计算具有相同 ID 的观测值的增长率。我的数据简化后如下所示:
ID year a b c d e f
10 2010 2 4 9 8 4 2
10 2011 3 5 4 6 5 4
220 2010 1 6 11 14 2 5
220 2011 6 2 12 10 5 4
334 2010 4 5 4 6 1 4
334 2011 5 5 4 4 3 2
现在我想根据变量 a-f 从 2010 年到 2011 年计算每个 ID 的增长率:
例如 ID 10 和变量 a 它将是:(3-2)/2,对于变量 b:(5- 4)/4 等并将结果存储在新变量中(例如 growth_a、growth_b 等)。
由于我有超过 12 万个观察值和大约 300 个变量,有没有一种有效的方法(循环)?
我的代码如下所示(简化):
local variables "a b c d e f"
foreach x in local variables {
bys ID: g `x'_gr = (`x'[_n]-`x'[_n-1])/`x'[_n-1]
}
仅供参考:变量 a-f 是数字。
但 Stata 说:“找不到本地”,我不确定代码是否正确。我是否也必须先对年份进行排序?
【问题讨论】:
标签: stata