Disabilita i messaggi al caricamento di un pacchetto

Ho un pacchetto in R (ROCR) che ho bisogno di caricare nel mio ambiente R. Al caricamento del pacchetto, viene stampato un set di messaggi. Questo è normale, ma poiché l’output del mio script R viene utilizzato per ulteriori analisi, voglio disabilitare completamente tutto questo output. Come lo faccio? Inoltre, preferirei farlo senza dover modificare ROCR, in modo che anche i futuri utenti di questo script non debbano farlo.

Finora:

  • sink() non funziona qui – il reindirizzamento di stdout e std err a /dev/null non fa nulla per me.
  • Non sorprende che le options(warnings=-1) non facciano nulla, dal momento che non si tratta di avvisi, di per sé, stampati.

qualche idea?

Basta usare suppressMessages() per chiamare la tua 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) potrebbe essere un’opzione più elegante.

La risposta di Dirk sopprime tutti i messaggi e non è specifica per i messaggi generati durante il caricamento dei pacchetti.

La soluzione è:

 suppressPackageStartupMessages(library(THE_PACKAGE_NAME)) 

Una spiegazione un po ‘più dettagliata può essere trovata qui