在stata中创建面板外移动平均线

时间:2014-03-26 21:34:26

标签: statistics stata

我有一个镶板时间序列数据集(它是由会话提供的所有会议成员的会议,Year是时间var,Memberid是面板var)。目测:

Year       Memberid       Sub
1995       01179          4
1996       01179          0
1995       12242          2

我要做的是在所有面板上创建移动平均变量。因此,例如,移动平均线将是所有成员在最后 x 年内提交的平均账单数量。我尝试过使用tssmooth ma,但只返回每个面板中的移动平均线。

1 个答案:

答案 0 :(得分:0)

请发布完整的代码以备将来提问。

下面的一些代码可以帮助您入门。我坚持你的tsmooth ma,并按年分配给每个成员的权重。具体来说,我按年度平均指标,然后计算移动平均线。您可能想要更改加权方案。

clear all
set more off

input ///
str1 memberid year metric
"A" 1981 35
"A" 1983 36
"A" 1982 40
"B" 1982 29
"B" 1983 18
"C" 1980 74
"C" 1981 64
"C" 1982 98
end

sort year
list, sepby(year)

* compute mean for each year
by year: egen me = mean(metric)

* keep only one observation per year (means are repeated)
by year: keep if _n == 1
drop memberid metric

list

* compute moving average using one lag, present, and one lead
tsset year
tssmooth ma newmetric=me, window(1 1 1)

list

更简洁,线条

by year: egen me = mean(metric)
by year: keep if _n == 1
drop memberid metric

可以替代

collapse (mean) metric, by(year)