Подавление вывода R-скрипта - PullRequest
0 голосов
/ 01 мая 2019

Я создаю сценарий R, используя Rscript в shebang и выводя на стандартный вывод. Это работает нормально, но R выводит много сообщений регистрации / отладки в stderr (например, нормально ли работал импорт, состояние различных функций, какая погода сегодня и т. Д.). Как мне это подавить?

Я знаю о suppressWarnings и suppressMessages, но это функции, которые оборачивают любую функцию, которую вы хотите отключить. Я мог бы заключить весь сценарий в анонимную функцию, а затем передать его этим, но это кажется странной идиомой. (Тем не менее, если это единственный способ, то я думаю, что так оно и есть ...)

Другой вариант - встроить скрипт R в скрипт bash и использовать перенаправление ввода-вывода bash. Опять же, это кажется окольным решением, но я открыт для него!

Мне просто интересно, есть ли лучший способ?

1 Ответ

1 голос
/ 01 мая 2019

Если вы хотите полностью подавить все сообщения stderr, поместите эту строку в начале вашего скрипта:

sink(file("/dev/null", "w"), type="message")

Очевидно, что это не поможет с отладкой ...

...