我有一個數據集是這樣;如何使用算術運算符與SAS宏變量
DATA work.faminc;
INPUT famid faminc1-faminc12 ;
CARDS;
1 3281 3413 3114 2500 2700 3500 3114 3319 3514 1282 2434 2818
2 4042 3084 3108 3150 3800 3100 1531 2914 3819 4124 4274 4471
3 6015 6123 6113 6100 6100 6200 6186 6132 3123 4231 6039 6215
;
RUN;
我可以創建一個變量,並做一些東西與它類似,
%let N=12;
DATA faminc1b;
SET faminc ;
ARRAY Afaminc(12) faminc1-faminc12 ;
ARRAY Ataxinc(&N) taxinc1-taxinc&N ;
DO month = 1 TO &N;
Ataxinc(month) = Afaminc(month) * .10 ;
END;
RUN;
但我也想分裂每個家庭的收入面前的一個。
的結果應該是像faminc1/faminc2 - faminc2/faminc3 - faminc3/faminc4 ...
所以,主要的問題是如何使用算術運算(+, - ,*,/)運營商的 「N」我創建的變量。
當我試圖簡單地做到這一點,它不工作;
%let N=12;
DATA faminc1b;
SET faminc ;
ARRAY Afaminc(12) faminc1-faminc12 ;
ARRAY Afamdiv(&N) famdiv1-famdiv&N ;
DO month = 1 TO &N+1;
Afamdiv(month) = faminc&N/faminc&N+1 ;
END;
RUN;
感謝您的幫助。
這正是我所期待的。感謝您的幫助 – kutayatesoglu