Ich habe ein Paket in R (ROCR), das ich in meine R-Umgebung laden muss. Beim Laden des Pakets wird eine Reihe von Nachrichten gedruckt. Dies ist normalerweise in Ordnung, aber da die Ausgabe meines R-Skripts für die weitere Analyse verwendet wird, möchte ich die gesamte Ausgabe vollständig deaktivieren. Wie mache ich das? Außerdem würde ich es vorziehen, ohne ROCR ändern zu müssen, damit zukünftige Benutzer dieses Skripts dies auch nicht tun müssen.
Bisher:
sink()
funktioniert hier nicht - das Umleiten von stdout und std err an/dev/null
bringt nichts für mich.- Es ist nicht überraschend, dass
options(warnings=-1)
auch nichts unternommen wird, da dies per se keine Warnungen sind, die gedruckt werden.
Irgendwelche Gedanken?
Loading required package: gplots Loading required package: gtools Loading required package: gdata
folgt : - Beachten Sie, dass ich die Nachricht nicht korrekt formatieren kann.gplots
,gtools
undgdata
vor dem LadenROCR
.Antworten:
Verwenden
suppressMessages()
Sie einfach um Ihrenlibrary()
Anruf:quelle
suppressPackageStartupMessages
?suppressPackageStartupMessages
unterdrückt nur Startnachrichten, wobei meine bevorzugtensuppressMessages()
Nachrichten alle Nachrichten unterdrücken (aber nicht,cat()
wie ich mich erinnere). Aber das soll man im Starttext nicht verwenden.Die Antwort von Dirk unterdrückt alle Nachrichten und ist nicht spezifisch für Nachrichten, die beim Laden von Paketen generiert werden.
Die genauere Lösung für die gestellte Frage lautet:
Eine etwas ausführlichere Erklärung finden Sie hier
quelle
Verwenden Sie unterdrückenPackageStartupMessages, siehe die Antwort von @MehradMahmoudian. Fügen Sie der Vollständigkeit halber Anwendungsbeispiele hinzu:
Verwenden Sie
suppressPackageStartupMessages(...)
für eine Bibliothek beispielsweise:Verwenden Sie
suppressPackageStartupMessages({...})
für mehrere Bibliotheken beispielsweise:quelle
library(ROCR, quietly = TRUE)
könnte eine elegantere Option sein.quelle
library(data.table, quietly = TRUE)
Durch Hinzufügen
quietly = T
wie unten gezeigt wird das Problem behoben:Bei mehreren Paketen können Sie Folgendes verwenden:
und sie verwenden lapply wie folgt:
quelle