web-dev-qa-db-fra.com

Comment supprimer les avertissements globalement dans un script R

J'ai un long script R qui émet des avertissements que je peux ignorer. je pourrais utiliser

suppressWarnings(expr)

pour les déclarations simples. Mais comment puis-je supprimer les avertissements dans R globalement? Y a-t-il une option pour cela?

152
Richard

Vous pourriez utiliser

options(warn=-1)

Mais notez que désactiver les messages d’avertissement globalement peut ne pas être une bonne idée.

Pour réactiver les avertissements, utilisez

options(warn=0)

(ou quelle que soit votre valeur par défaut pour warn, voir cette réponse )

211
sieste

Vous voulez options(warn=-1). Toutefois, notez que warn=0 n'est pas le niveau d'avertissement le plus sûr et ne doit pas être considéré comme le niveau actuel, en particulier dans les scripts ou les fonctions. Ainsi, le moyen le plus sûr de désactiver temporairement les avertissements est le suivant:

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

[your "silenced" code]

options(warn = oldw)
92

J'ai remplacé les appels printf par des appels à warning dans le code-C. Il sera effectif dans la version 2.17.2 qui devrait être disponible demain soir. Ensuite, vous devriez pouvoir éviter les avertissements avec suppressWarnings() ou n’importe laquelle des méthodes susmentionnées.

suppressWarnings({ your code })
19
Bernd Fischer

Regardez ?options et utilisez warn:

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