[程式] sas, lag相反指令

看板Statistics作者 (朝右邊鋒邁進)時間14年前 (2010/05/16 00:25), 編輯推噓6(602)
留言8則, 5人參與, 最新討論串1/1
之前常常會遇到這個問題, 也有很多熱心的前輩幫助過我 剛好寫了一下這個小巨集, 希望對大家有一點幫助. /* front(data=你的資料,varold=想要front的變數,varnew=front完的變數,front=期數) */ %macro front(Data,varold,varnew,front); data &data; set &data; tempcount=_n_; output; run; proc sort data=&data; by decending tempcount; run; data &data; set &data; &varnew=lag&front(&varold); run; proc sort data=&data; by tempcount; run; data &data; set &data; drop tempcount; run; %mend; /*小小的測試*/ data temp; input test; cards; 1 2 4 4 5 6 7 ; run; %front(Data=temp,varold=test,varnew=testfront,front=3); proc print data=temp; run; /*輸出*/ test testfront 1 4 2 5 4 6 4 7 5 . 6 . 7 . -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.86.244

05/17 04:20, , 1F
有沒有範 例輸 出的的結果 ?
05/17 04:20, 1F
※ 編輯: lsshno1 來自: 60.250.86.244 (05/17 12:53)

05/17 13:11, , 2F
謝謝分享哩:)
05/17 13:11, 2F

05/17 21:51, , 3F
使用這個語法要小心
05/17 21:51, 3F

05/17 23:47, , 4F
可以跟我說明一下嗎? 謝謝
05/17 23:47, 4F

05/18 08:23, , 5F
如果你的資料是 1980 1981 1982 1984 1985的格式
05/18 08:23, 5F

05/18 08:24, , 6F
中間缺了一年 就整個有問題 不是所有原始資料都很完美
05/18 08:24, 6F

05/18 08:27, , 7F
寫到巨集以後 可以開始思考不完美的情況 對你會有幫助的
05/18 08:27, 7F

03/11 23:26, , 8F
有用有推!!!!! 謝謝!!!!!!
03/11 23:26, 8F
文章代碼(AID): #1BxiiNDh (Statistics)