我正在尝试调试一个函数。我想在发生警告时显示警告,但我不明白如何更改警告设置。
问问题
15254 次
3 回答
30
指定可能有用
options(warn=2, error=recover)
正如@plannapus 所提到的,warn=2
会将警告升级为错误;error=recover
将在发生警告(现已升级为错误)的位置进入调试/浏览器模式。(options(warn=0, error=NULL)
用于恢复原始设置。)
于 2012-06-28T07:56:29.730 回答
16
放
options(warn=1)
阅读更多?options
于 2012-06-28T07:08:38.093 回答
10
从帮助页面options
:
warn
:设置警告消息的处理。如果warn
为负,则忽略所有警告。如果warn
是零(默认值)警告将被存储,直到顶级函数返回。如果发出的警告少于 10 个,它们将被打印出来,否则会显示一条消息,说明发出了多少(最多 50 个)信号。一个被调用的对象last.warning
被创建并且可以通过函数打印出来warnings
。如果warn
是 1,则在出现警告时打印警告。如果warn
是 2 或更大,则所有警告都会变成错误。
所以options(warn=1)
应该在警告发生时打印它们。
否则函数traceback()
(在未识别的错误之后)会向您显示哪个子例程失败(更准确地说是“导致错误的调用序列”)。
于 2012-06-28T07:08:54.660 回答