請發佈後續問題的完整代碼。
下面的一些代碼可以讓你開始。我堅持你的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)
您需要的總頻率計算移動平均值之前'collapse'數據集。然後'合併'回來。 –