data stockindex; set stockindex; la0=_col4; la1=lag1(_col4); la2=lag2(_col4); la3=lag3(_col4); la4=lag4(_col4); la5=lag5(_col4); la6=lag6(_col4); la7=lag7(_col4); la8=lag8(_col4); la9=lag9(_col4); if _n_>=10 then avg=sum(_col4,la1,la2,la3,la4,la5,la6,la7,la8,la9)/n(_col4,la1,la2,la3,la4,la5,la6,la7,la8,la9); keep _col0 _col4 avg;
run;
这是论坛里一个高人给的移动平均的解答,但如果我想求的平均至是前100个或者更多观测的话,这样列出来就麻烦了。能不能用数组或者什么办法修改一下,不用一个一个地列呢?不知道各位大侠有没有办法啊,多谢了……