Отключить сообщения при загрузке пакета

У меня есть пакет в R (ROCR), который мне нужно загрузить в моей среде R. При загрузке пакета печатается набор сообщений. Это нормально, но поскольку вывод моего R-скрипта используется для дальнейшего анализа, я хочу полностью отключить весь этот вывод. Как мне это сделать? Кроме того, я бы предпочел сделать это без необходимости изменять ROCR вообще, чтобы будущие пользователи этого скрипта тоже этого не делали.

Так далеко:

  • sink() здесь не работает – redirect как stdout, так и std err на /dev/null ничего не делает для меня.
  • Неудивительно, что options(warnings=-1) тоже ничего не делают, поскольку они не являются сообщениями, как таковыми, для печати.

Есть предположения?

Просто используйте 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)) 

Немного более подробное объяснение можно найти здесь

Давайте будем гением компьютера.