J'ai un package en R (ROCR) que je dois charger dans mon environnement R. Lors du chargement du package, un ensemble de messages est imprimé. C'est généralement bien, mais comme la sortie de mon script R est utilisée pour une analyse plus approfondie, je veux désactiver complètement toute cette sortie. Comment je fais ça? De plus, je préfère le faire sans avoir à modifier du tout ROCR, afin que les futurs utilisateurs de ce script n'aient pas à le faire non plus.
Jusque là:
sink()
ne fonctionne pas ici - rediriger à la fois stdout et std err vers/dev/null
ne fait rien pour moi.- Sans surprise,
options(warnings=-1)
ne fait rien non plus, car ce ne sont pas des avertissements en soi imprimés.
Des pensées?
Loading required package: gplots Loading required package: gtools Loading required package: gdata
- Notez que cela ne me permettra pas de formater le message correctement.gplots
,gtools
etgdata
avant de chargerROCR
.Réponses:
Utilisez simplement
suppressMessages()
autour de votrelibrary()
appel:la source
suppressPackageStartupMessages
?suppressPackageStartupMessages
supprime uniquement les messages de démarrage où, comme mon préféré,suppressMessages()
supprime tous les messages (mais pascat()
comme je me souviens). Mais on n'est pas censé l'utiliser dans le texte de démarrage.La réponse de Dirk supprime tous les messages et n'est pas spécifique aux messages générés lors du chargement des packages.
La solution la plus précise à la question posée est:
Une explication un peu plus détaillée peut être trouvée ici
la source
Utilisez suppressPackageStartupMessages, voir la réponse de @MehradMahmoudian. Par souci d'exhaustivité, ajoutez des exemples d'utilisation:
Pour une bibliothèque, utilisez
suppressPackageStartupMessages(...)
, par exemple:Pour plusieurs bibliothèques, utilisez
suppressPackageStartupMessages({...})
, par exemple:la source
library(ROCR, quietly = TRUE)
pourrait être une option plus élégante.la source
library(data.table, quietly = TRUE)
En ajoutant
quietly = T
comme indiqué ci-dessous, le problème sera résolu:En cas de package multiple, vous pouvez utiliser:
et ils utilisent lapply comme ci-dessous:
la source