Отключить сообщения При загрузке пакета
у меня есть пакет в R (ROCR), который мне нужно загрузить в моей среде R. При загрузке пакета печатается набор сообщений. Обычно это нормально, но поскольку вывод моего R-скрипта используется для дальнейшего анализа, я хочу полностью отключить все эти выходные данные. Как мне это сделать? Кроме того, я бы предпочел сделать это без необходимости изменять ROCR вообще, так что будущие пользователи этого скрипта тоже не должны этого делать.
Так далеко:
-
sink()
здесь не работает-перенаправление как stdout, так и std err на/dev/null
ничего не делает для меня. - неудивительно,
options(warnings=-1)
тоже ничего не делает, так как это не предупреждения, как таковые, печатаются.
какие мысли?
4 ответа:
просто использовать
suppressMessages()
вокругlibrary()
звоните:edd@max:~$ 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>
ответ Дирка подавляет все сообщения и не относится к сообщениям, которые генерируются при загрузке пакетов.
решение:
suppressPackageStartupMessages(library(THE_PACKAGE_NAME))
немного более подробное объяснение можно найти здесь
добавлять
quietly = T
как показано ниже, решить проблему:suppressWarnings(suppressMessages(library("dplyr", quietly = T)))
в случае нескольких пакетов вы можете использовать:
## specify the package names PKGs <- c("affy","gcrma","readxl","ggplot2","lattice" )
и они используют lapply, как показано ниже:
lapply(PKGs, library, character.only = TRUE ,quietly = T)