我在數據集調查中有幾個變量。我想寫一個循環來將每個變量加載到SAS宏。將每個變量循環到SAS宏中
代碼如下。
%let var= r1 r2 r3 ;
DATA survey;
INPUT id sex $ age inc r1 r2 r3 ;
DATALINES;
1 F 35 17 7 2 2
17 M 50 14 5 5 3
33 F 45 6 7 2 7
49 M 24 14 7 5 7
65 F 52 9 4 7 7
81 M 44 11 7 7 7
2 F 34 17 6 5 3
18 M 40 14 7 5 2
34 F 47 6 6 5 6
50 M 35 17 5 7 5
;
%MACRO bvars(input);
proc univariate data = "D:\hsb2" plots;
var &input.;
run;
%MEND bvars;
我只想每次& VAR可以加載到宏觀bvars只有一個變量,而不是寫以下的。
%bvars(r1)
%bvars(r2)
%bvars(r3)
.....
這是耗時的,而變量的數量是大於100
如果你沒有指定一個var語句,proc univariate將運行所有的數值變量。或者對所有數字變量嘗試var _numeric_。該數字應該有一個下劃線之前和之後,但SO是吃它:( – Reeza 2014-09-30 21:38:33
這種有用的,但不是真的,手動經歷這麼多的輸出將是痛苦的,你到底真的在做什麼? – Reeza 2014-09-30 21:41:13