it-swarm.com.de

So unterdrücken Sie Warnungen global in einem R-Skript

Ich habe ein langes R-Skript, das einige Warnungen ausgibt, die ich ignorieren kann. ich könnte benutzen

suppressWarnings(expr)

für einzelne Aussagen. Aber wie kann ich Warnungen in R global unterdrücken? Gibt es dafür eine Option?

152
Richard

Du könntest benutzen

options(warn=-1)

Beachten Sie jedoch, dass das globale Deaktivieren von Warnmeldungen möglicherweise keine gute Idee ist.

Verwenden Sie, um die Warnungen wieder einzuschalten

options(warn=0)

(oder wie auch immer Ihre Standardeinstellung für warn lautet, siehe diese Antwort )

211
sieste

Sie möchten options(warn=-1). Beachten Sie jedoch, dass warn=0 ist nicht die sicherste Warnstufe und sollte insbesondere in Skripten oder Funktionen nicht als die aktuelle angenommen werden. Der sicherste Weg, Warnungen vorübergehend auszuschalten, ist daher:

oldw <- getOption("warn")
options(warn = -1)

[your "silenced" code]

options(warn = oldw)
92

Ich habe die printf Aufrufe jetzt durch Aufrufe von warning im C-Code ersetzt. Es wird in der Version 2.17.2 wirksam, die morgen Abend verfügbar sein sollte. Dann sollten Sie in der Lage sein, die Warnungen mit suppressWarnings() oder einer der anderen oben genannten Methoden zu vermeiden.

suppressWarnings({ your code })
19
Bernd Fischer

Schauen Sie sich ?options und benutze warn:

options( warn = -1 )
8
Simon O'Hanlon