Отключить сообщения При загрузке пакета
у меня есть пакет в 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)