关于读取后几天观测的情况,有两种思路解决:
1,建立2个data步,第一个data步中将所有符合要求的变量用某种flag变量标记下来,然后在第二个data步中运算
2,使用proc expand,例如,要求滞后与领先n期的数据,可以使用lead与lag算子:
proc expand data=raw out=raw_expand method=none;
id date;
%do i=1 %to &n.;
convert monret=lag&i./transform=(lag &i.);
convert monret=lead&i./transform=(lead &i.);
label lag&i.="滞后&i.期";
label lead&i.="领先&i.期";
%end;
run;