[程式] SAS取下一期資料的方法

看板Statistics作者 (應天風)時間16年前 (2010/04/15 17:46), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
[軟體程式類別]: 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
我也是反過來取lag, 再sort回來
04/15 19:43, 1F

04/15 19:43, , 2F
可以參考11035
04/15 19:43, 2F

04/15 21:22, , 3F
我也是這樣做
04/15 21:22, 3F
文章代碼(AID): #1Bnk1QtL (Statistics)