如何查看proc中可用的输出选项?

时间:2015-06-17 15:58:55

标签: sas

运行复杂的过程,例如PROC REGPROC GLM,除了使用{{1}生成的输出数据集之外,通常还会在输出窗口中生成描述回归结果的表格。 }或OUT选项。

如何将这些表输出到SAS数据集?

例如,给定PROC REG中的第一个SAS示例(在documentation page上),如何输出拟合优度统计量(例如R-Squared)?

1 个答案:

答案 0 :(得分:5)

为了识别可能的输出数据集,SAS提供了ods trace语句。这要求SAS将日志写入输出的每个数据表的名称(以及一些细节)写入日志。在大多数情况下,可以通过ods output将其保存到数据集中。

例如,在问题中提到的SAS示例中,您可以写:

ods trace on; 
    proc reg data=baseball;
       id name team league;
       model logSalary = no_hits no_runs no_rbi no_bb yr_major cr_hits;
    run;
ods trace off;

那将在日志中报告" FitStatistics"是您想要的输出对象的名称。然后你写:

ods output FitStatistics=fitds;
proc reg data=baseball;
   id name team league;
   model logSalary = no_hits no_runs no_rbi no_bb yr_major cr_hits;
run;

,它将输出fitds数据集。

ODS Trace仅用于确定表的名称 - 当您知道所需表的名称时,您可以在将来使用该名称ods output

您还经常可以在文档中找到表名列表;例如,PROC REG将它们here放置。

ODS输出可以放在run语句之前的任何位置(因为它是一个全局语句);公共位置紧靠run之前。我个人的偏好是将它放在proc之前,因为它是一个全局声明,但是there is some disagreement with that approach