1
我想在sas中做一个递归滞后,我刚刚学到的问题是x = lag(x)在SAS中不起作用。sas递归滞后编号
我的数据在格式上此类似:
id date count x
a 1/1/1999 1 10
a 1/1/2000 2 .
a 1/1/2001 3 .
b 1/1/1997 1 51
b 1/1/1998 2 .
我要的是,对于第一计数定x,我希望通过ID每个连续的X是滞后(X)+一些不变。
例如,让我们说:如果计数> 1,则x =滞后(X)+ 3. ,我希望的输出是:
id date count x
a 1/1/1999 1 10
a 1/1/2000 2 13
a 1/1/2001 3 16
b 1/1/1997 1 51
b 1/1/1998 2 54
由于@DomPazz提到的原因,我几乎总是在'lag()'上使用'retain'。使代码不太可能包含一个错误是一个很好的标准 - 尤其是一个难以被双方意识到和解决的错误,作为一个“滞后”错误。只有当我需要'lag1(),lag2()....,lagN()'时,才会使用'lag()'。只有在这种情况下才比使用保留IMO更好。 – 2014-09-26 23:29:16