SAS:如何将所有数据集变量包含到模型中

时间:2015-03-05 04:46:07

标签: r sas regression

我想知道,如果SAS可以将所有数据集变量都包含在回归模型中而无需全部输入。我以前用过R,我想要这样的东西:

model <- lm(y ~ ., data = d)

但是在SAS。提前谢谢!

2 个答案:

答案 0 :(得分:8)

据我所知,SAS没有一种简单的方法可以做到这一点。

您可以将所有自变量放入宏变量中,然后在模型语句中引用宏变量:

proc sql;
select name into :ivars separated by ' '
from dictionary.columns
where libname eq 'WORK'      /*library name        */
  and memname eq 'YOURDATA'  /*data set name       */
  and name    ne 'DEPVAR'    /*exlude dep variable */ ;
quit;

proc reg;
  model DEPVAR = &ivars;
run;

答案 1 :(得分:0)

这是另一种方式,但我没有尝试过。

proc reg data=d;
model y = _all_;
run;

由于默认情况下回归模型只能使用数字变量构建,因此可以使用它。

proc reg data=d;
model y = _num_;
run;

如果您有字符变量,请将它们转换为Evidence变换变量,以便将它们转换为数字,然后您可以使用上述代码。