pobel 发表于 2010-8-17 15:38 
用两次lag()就相当于lag2()了
proc sort data=sashelp.class out=class;
by sex height;
run;
data wanted;
set class;
by sex height;
lag_H=lag(height);
if first.sex then call missing(lag_h);
lag_2h=lag(lag_H);
if first.sex then call missing(lag_2h);
drop lag_h;
run;
变量lag_2h是不是你想要的效果?
谢谢ls!!!是我没问清楚,是这样的:
实际variable的运算不是直接lag2(height),而是比较复杂一些: lag_2h=lag(height)/lag2(height),所以没法直接用做两次来弄。
不过按照你提供的办法,还是可以解决问题。就是从新定义一个变量var_new,然后让这组的前两个值都为missing,再
if Var_new=., then lag_2h=.,这样应该可以解决问题?
顺便再问下有没其他的处理方法?