Comment supprimer les avertissements globalement dans un script R


174

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

suppressWarnings(expr)

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

Réponses:


229

Vous pourriez utiliser

options(warn=-1)

Mais notez que désactiver globalement les messages d'avertissement n'est peut-être pas une bonne idée.

Pour réactiver les avertissements, utilisez

options(warn=0)

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


5
Cela fonctionne, mais l'approche de Francesco Napolitano du 22 septembre 2015 est la méthode la plus sûre et la plus applicable à l'échelle mondiale.
Andy Clifton

Je suis d'accord avec @Andy, et sa réponse doit être marquée comme acceptée.
JASC

106

Tu veux options(warn=-1). Cependant, notez que ce warn=0n'est pas le niveau d'avertissement le plus sûr et qu'il 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:

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

[your "silenced" code]

options(warn = oldw)

41

J'ai remplacé les printfappels par des appels warningdans le code C maintenant. 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 l'une des autres méthodes mentionnées ci-dessus.

suppressWarnings({ your code })

6
c'est la bonne façon de procéder. Doit être marqué comme réponse.
Denis

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.