Unterdrückung von Nachrichten angezeigt werden, indem Sie "drucken" statt "Nachricht" oder "Warnung" in R

Viele R-Pakete, die ich die Arbeit mit einzubeziehen Funktionen, die geben alle Ihre Nachrichten und Warnungen durch die Befehle print() aufrufen, anstatt Befehle zu Nachricht() oder eine Warnung(). Ich möchte in der Lage sein, zu schweigen, diese Funktionen, Statusanzeigen, usw., aber die standard-supressWarnings() oder supressMessages es nicht. Gibt es eine Möglichkeit, kann ich nur suppressPrint?

Beispiel:

silly_developer_function <- function(x){
   print("Thanks for using my function!!")
   if(is(x, "numeric"))
     print("warning, x should be a character")
   x
}

Ich würde gerne eine einfache Funktion suppressPrint (), dass ich könnte, wrap-around-ein Aufruf dieser Funktion, würde das unterdrücken der warn-und nutzlos-Nachrichten (aber immer noch drucken Sie die return-Wert).

  • Es ist die hackish Strategie mit sink, aber es kann einen besseren Weg.
  • Ihre vorgeschlagenen Bearbeiten von Simon ' s Lösung ist zwar schön, wäre aber besser als edit/Nachtrag zu deinem eigenen post. Danke.
  • Danke für den Zeiger. Bearbeite ich meine ursprüngliche Frage mit, dass sich der Vorschlag dann? Seltsam scheint wiederum die Frage in eine Antwort?
  • Yep, das ist genau, wie ich es tun würde (und habe oft gesehen, wie er getan, SO). Sie können die Referenz-Simon Urbanek als die Quelle der Idee, und sagen (in der Essenz) 'also hier ist was ich Tat mit, die Idee'.
InformationsquelleAutor cboettig | 2012-01-10
Schreibe einen Kommentar