【发布时间】:2016-01-06 03:14:36
【问题描述】:
我是 SAS 的新用户。我正在尝试使用线性回归进行多重但简单的探索性单变量分析。我希望找到一种更有效的方式来编写 SAS 代码。 例如,我想到的是以下内容:
proc reg data=test;
model bmi= age;
model bmi= calperday;
model bmi= exercise;
model bmi= (etc....);
run;
但我可能还有 20 个其他预测变量,我不想一一列出。 PROC CORR 只会给出相关性和 P 值,但我实际上也想查看残差分布。我知道如果我像这样使用宏,我可以缩短一点:
%macro univar(var);
proc reg data=test;
model bmi = &var;
run;
%mend univar;
%univar(age); %univar(calperday); %univar(etc.);
但这还是需要我把所有的变量一一列出来,但是既然在数据文件中都是按连续的顺序列出来的,有没有更好的办法呢? 谢谢!
【问题讨论】:
-
您可以查看调用 execute 来处理变量并从 proc 内容、proc 数据集或 sashelp.vcolumn 中获取变量名称。这里有很多答案证明了这种方法。