作者fairwind (应天风)
看板Statistics
标题[程式] SAS取下一期资料的方法
时间Thu Apr 15 17:45:59 2010
[软体程式类别]:
SAS
[程式问题]:
资料处理
[软体熟悉度]:
高(1年以上)
[问题叙述]:
想请教如何取 下一期资料
original data => expected data
ID YEAR X ID YEAR X Forward_X
1 1990 5 1 1990 5 7
1 1995 7 1 1995 7 .
2 1990 3 2 1990 3 6
2 1995 6 2 1995 6 .
3 1990 7 3 1990 7 9
3 1995 9 3 1995 9 .
[程式范例]:
目前我有想到一个作法 但是有点慢 想请教有没有比较好的方法
----
目前的作法
proc sort data=original; by descending id descending year; run;
data expected; set original;
for_95=lag(X);
if year=1990 then forward_x=for_95;
run;
最後再把资料排序回来
----
谢谢~!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.86.204
1F:推 lsshno1:我也是反过来取lag, 再sort回来 04/15 19:43
2F:→ lsshno1:可以参考11035 04/15 19:43
3F:推 kenshin528:我也是这样做 04/15 21:22