[程式] SAS取下一期資料的方法
[軟體程式類別]:
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
推
04/15 19:43, , 1F
04/15 19:43, 1F
→
04/15 19:43, , 2F
04/15 19:43, 2F
推
04/15 21:22, , 3F
04/15 21:22, 3F