Ответ 1
Set
options(warn=1)
Подробнее в ?options
Я пытаюсь отладить функцию. Я хотел бы отображать предупреждения, когда они возникают, но я не понимаю, как изменить настройки предупреждения.
Set
options(warn=1)
Подробнее в ?options
Может быть полезно указать
options(warn=2, error=recover)
Как упоминалось @plannapus, warn=2
будет обновлять предупреждения до ошибок; error=recover
переместит вас в режим отладки/браузера в точке, где произошло предупреждение (теперь обновление до ошибки). (Используйте options(warn=0, error=NULL)
для восстановления исходных настроек.)
На странице справки для options
:
warn
:
устанавливает обработку предупреждающих сообщений. Если warn
отрицательно, все предупреждения игнорируются. Если warn
равно нулю (по умолчанию), предупреждения сохраняются до тех пор, пока функция верхнего уровня не вернется. Если было сообщено менее 10 предупреждений, они будут напечатаны иначе, если будет указано, сколько (максимум 50) было сигнализировано. Создается объект с именем last.warning
и может быть напечатан с помощью функции warnings
. Если warn
- одно, предупреждения печатаются по мере их возникновения. Если warn
равно двум или больше, все предупреждения превращаются в ошибки.
Итак options(warn=1)
должен печатать предупреждения по мере их возникновения.
В противном случае функция traceback()
(после неопознанной ошибки) показывает вам, какая подпрограмма потерпела неудачу (точнее "последовательность вызовов, которые приводят к ошибке" ).