[程式] SAS MACRO相關問題

看板Statistics作者 (惡劣)時間12年前 (2013/11/05 19:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 移動平均 利用 巨集及迴圈撰寫 [軟體熟悉度]: 低(1~3個月) [問題敘述]: 新手發文 請多多見諒與指導 我現在有一組資料 為報酬的月資料 CODE TIME RETURN ex. 1 198112 0.5 1 198201 0.3 . . 2 198112 0.8 2 198201 0.7 . . . 120 198112 0.6 120 198201 0.4 120 198202 0.2 想算前當期六個月的移動平均報酬,已爬過文,可以利用PROC EXPAND 得到 不過 因為想練習一下巨集所以想要利用巨集來寫 以下是想要做的方式 程式雛形 %MACRO TEMP; DATA Q; SET W; %DO i=1 %TO 6; %DO j=7 %TO 12; %IF month < %EVAL(year1*100+&i) %THEN DELETE; %IF month >= %EVAL(year1*100+&j) %THEN DELETE; PROC MEANS DATA=Q NOPRINT; BY code; OUTPUT OUT=_____ MEAN(RETRUN)=re6; RUN; QUIT; %END; %END; %MEND; %TEMP; year1為在巨集前就利用函數做出來的變數只取 年份[year1=year(month)] 簡單的來說 就是利用巨集把資料取六個月出來 再利用proc means 算出平均 之後再利用proc append把資料合併起來,不過如何讓 out 後面輸出的檔跟著 迴圈計算的次數變動? 煩請高手 提示解惑 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.18.101
文章代碼(AID): #1IUDsFhs (Statistics)