我正在尝试在SAS中编写一个程序,支持在选择最佳线性回归模型公式时的决策过程。我甚至有一个但在R环境中。现在我必须在SAS中实现它。最终结果应该是一个数据集,每行描述不同的回归公式,即解释变量的名称,R平方,不同统计检验的p值等。
例如,其中一项测试是Durbin-Watson自相关测试。我的目标是在我提到的表中插入一个p值。我使用代码:
proc reg data=indata outest=outdata EDF ridge=0 OUTVIF;
model PKB = PK INV SI / DW;
run;
quit;
结果我进入了输出窗口:
Durbin-Watson Statistics
Order DW Pr < DW Pr > DW
1 1.2512 0.0038 0.9962
我想将这些p值直接插入SAS表中。我试图在SAS OnlineDoc和论坛上找到答案,但没有成功。
答案 0 :(得分:2)
ODS OUTPUT
是获取可以在屏幕上打印到数据集中的信息的最佳方式。在代码之前使用ODS TRACE ON;
,运行它,然后检查日志;看看哪个表名与您要查找的内容相匹配。然后使用ODS OUTPUT <tablename>=<datasetname>
。
例如,在此PROC FREQ
中,我看到ONEWAYFREQS
是我想要的表格。
ods trace on;
proc freq data=sashelp.class;
var age;
run;
ods trace off;
所以我使用ODS OUTPUT:
ods output onewayfreqs=ages;
proc freq data=sashelp.class;
table age;
run;
ods output close;
并获得一个不错的数据集。 (如果您知道要查找的表的名称,则无需ODS TRACE
。)