I have a package in R (ROCR) that I need to load in my R environment. Upon loading the package, a set of messages are printed. This is ordinarily fine, but since the output of my R script is being used for further analysis I want to completely disable all of this output. How do I do that? Furthermore, I'd prefer to do it without having to modify ROCR at all, so that future users of this script don't have to do that either.
So far:
sink()
doesn't work here - redirecting both stdout and std err to /dev/null
does nothing for me.options(warnings=-1)
does nothing either, since these are not warnings, per se, being printed.Any thoughts?
R packages are a collection of R functions, complied code and sample data. They are stored under a directory called "library" in the R environment. By default, R installs a set of packages during installation. More packages are added later, when they are needed for some specific purpose.
Just use suppressMessages()
around your library()
call:
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>
Dirk's answer suppresses all messages and is not specific to messages that is generated while loading packages.
The more accurate solution to the asked question is:
suppressPackageStartupMessages(library(THE_PACKAGE_NAME))
A bit more detailed explanation can be found here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With