我在数据集调查中有几个变量。我想写一个循环来将每个变量加载到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