2014-03-26 120 views
0

均線我有一個鑲板的時間序列數據集(這是由會議上提交給定成員的所有國會提案,Year是時間VAR,Memberid是面板VAR)。目測:創建外的面板在Stata

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

我期望做的是在所有面板上創建移動平均變量。因此,例如,移動平均數將是所有成員在最近的x年內提交的平均賬單數量。我試過使用tssmooth ma,但只返回每個面板內的移動平均值。

+0

您需要的總頻率計算移動平均值之前'collapse'數據集。然後'合併'回來。 –

回答

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)