sas - 如何查看我的过程中可用的输出选项?

标签 sas

运行复杂的过程,例如PROC REGPROC GLM,除了使用 OUTOUTPUT 选项生成的输出数据集。

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

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

最佳答案

为了识别可能的输出数据集,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 中使用该名称即可 future 。

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

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

关于sas - 如何查看我的过程中可用的输出选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896668/

相关文章:

algorithm - SAS:通过另一列查找一列总和的最佳方法是什么?

sas - 如何让 SAS 忽略缺失的变量名称?

sql - PROC SQL 返回的行顺序

sorting - 删除只有一个变量不同的观察结果

SAS Viya 3.4 操作内存中的表

sas - 为什么 proc 意味着显示这些 f ?

sql - 使用连接条件单独从各个表中检索不同计数

sas - 在 PROC FCMP 中散列数据时没有保证的 libname

python - 在 Pandas 中添加一个新列作为现有列的最大值

SAS 过程时间序列 : aggregate over a specified intervale