/*分组,按5个观察分组*/
data tmp;
do i=1 to 181;
ee=int(i/5);
output;
end;
run;
/*按分组统计均值*/
proc summary data=tmp nway;
var i;
class ee;
output out=tmp1(drop=_: ee) mean=;
run;
DATA A;
SET DATA_1; /*DATA_1为原始数据*/
N=_N_;
RUN;
/*取能被5整除的行*/
DATA B;
SET A;
IF MOD(N,5)=0;
RUN;
DATA C;
SET B;
OBS=_N_;
RUN;
DATA D;
SET C;
FUZHU=LAG(OBS);
IF MOD(OBS,2)=0 THEN NEW_OBS=FUZHU;
ELSE NEW_OBS=OBS;
RUN;
/*求平均*/
PROC SQL;
CREATE TABLE FINAL AS
SELECT
T1.NEW_OBS,
T1.TIME,
MEAN(PM) AS GROUP_MEAN
FROM D AS T1
GROUP BY NEW_OBS;
QUIT;