Отключить сообщения при загрузке пакета
У меня есть пакет в R (ROCR), который мне нужно загрузить в моей среде R. При загрузке пакета печатается набор сообщений. Это нормально, но поскольку вывод моего R-скрипта используется для дальнейшего анализа, я хочу полностью отключить весь этот вывод. Как мне это сделать? Кроме того, я бы предпочел сделать это без необходимости изменять ROCR вообще, чтобы будущие пользователи этого скрипта тоже этого не делали.
Так далеко:
-
sink()
здесь не работает – redirect как stdout, так и std err на/dev/null
ничего не делает для меня. - Неудивительно, что
options(warnings=-1)
тоже ничего не делают, поскольку они не являются сообщениями, как таковыми, для печати.
Есть предположения?
- RabbitMQ - порядок доставки сообщений
- Как я могу получить строку пакета сообщений из управляемого управляемого компонента?
- Получить все сообщения от Whatsapp
- Сообщение с веб-приложением ASP.NET
- Зашифрованы ли заголовки HTTPS?
Просто используйте suppressMessages()
для вызова вашей library()
:
[email protected]:~$ R R version 2.14.1 (2011-12-22) Copyright (C) 2011 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-linux-gnu (64-bit) [...] R> suppressMessages(library(ROCR)) R> # silently loaded R> search() [1] ".GlobalEnv" "package:ROCR" # it's really there [3] "package:gplots" "package:KernSmooth" [5] "package:grid" "package:caTools" [7] "package:bitops" "package:gdata" [9] "package:gtools" "package:stats" [11] "package:graphics" "package:grDevices" [13] "package:utils" "package:datasets" [15] "package:methods" "Autoloads" [17] "package:base" R>
library(ROCR, quietly = TRUE)
может быть более элегантным вариантом.
Ответ Dirk подавляет все сообщения и не относится к сообщениям, которые генерируются во время загрузки пакетов.
Решение:
suppressPackageStartupMessages(library(THE_PACKAGE_NAME))
Немного более подробное объяснение можно найти здесь