SAS:如何将所有数据集变量包含到模型中
SAS: how to include all the dataset variables into the model
我想知道,SAS 是否可以将所有数据集变量包含到回归模型中而无需全部输入。我以前用过 R,我想要这样的东西:
model <- lm(y ~ ., data = d)
但是在 SAS 中。提前致谢!
据我所知,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;
还有一种方法,我没试过。
proc reg data=d;
model y = _all_;
run;
由于默认情况下回归模型只能使用数字变量构建,因此您可以使用它。
proc reg data=d;
model y = _num_;
run;
如果您有字符变量,将它们转换为证据权重转换变量,以便将它们转换为数字,然后您可以使用上面的代码。
我想知道,SAS 是否可以将所有数据集变量包含到回归模型中而无需全部输入。我以前用过 R,我想要这样的东西:
model <- lm(y ~ ., data = d)
但是在 SAS 中。提前致谢!
据我所知,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;
还有一种方法,我没试过。
proc reg data=d;
model y = _all_;
run;
由于默认情况下回归模型只能使用数字变量构建,因此您可以使用它。
proc reg data=d;
model y = _num_;
run;
如果您有字符变量,将它们转换为证据权重转换变量,以便将它们转换为数字,然后您可以使用上面的代码。