从SAS日志文件中抑制PROC NLIN WARNING

时间:2016-12-20 00:35:22

标签: sas

我有一个非常大的数据集(100GB),需要在每组观察上运行PROC NLIN。 在某些情况下,模型无法收敛,从而为日志文件生成一组警告行:

NOTE: PROC NLIN grid search time was 0: 0: 0.
WARNING: PROC NLIN failed to converge.
NOTE: Negative model SS. Check model and initial parameters.
NOTE: The (approximate) Hessian is singular.
NOTE: The above message was for the following BY group: obs=420

PROC NLIN的参数是给我的,我无法更改任何参数。因此,在这种情况下,不能遵循此处的建议(https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_nlin_sect023.htm)。

我在调用PROC NLIN之前完成了以下操作:

options nonotes ;
proc printto print='/dev/null' new;
run;

然而,“警告:PROC NLIN未能收敛”这一行。仍然打印在日志中。 有没有办法从SAS日志文件中抑制此警告(或所有类似的警告)?

这是在Linux OS上的SAS 9.3 TS1M2上。

附加说明:我们没有忽略NLIN错误 - 正在捕获产生它们的条件,我们最终会相应地过滤输入数据集。目前我们正试图在没有填充SAS日志文件的情况下浏览所有数据。

1 个答案:

答案 0 :(得分:0)

我发布这个作为答案。它应该是显而易见的,但万一其他人遇到这个。在SAS程序中,您可以使用以下语法(在Linux / Unix上)临时将警告和错误的输出重定向到不同的日志文件:

proc printto print='/dev/null' log='/dev/null' new;
run;

我一直在使用print = part而不是log = part。 要返回常规日志记录,请运行:

proc printto
run;