कैसे एक आर स्क्रिप्ट में विश्व स्तर पर चेतावनियों को दबाने के लिए


174

मेरे पास एक लंबी आर स्क्रिप्ट है जो कुछ चेतावनियों को फेंकती है, जिसे मैं अनदेखा कर सकता हूं। मैं प्रयोग कर सकता हूँ

suppressWarnings(expr)

एकल बयान के लिए। लेकिन मैं विश्व स्तर पर आर में चेतावनी को कैसे दबा सकता हूं? क्या इसके लिए कोई विकल्प है?

जवाबों:


228

आप उपयोग कर सकते हैं

options(warn=-1)

लेकिन ध्यान दें कि विश्व स्तर पर चेतावनी संदेशों को बंद करना एक अच्छा विचार नहीं हो सकता है।

चेतावनियों को वापस चालू करने के लिए, उपयोग करें

options(warn=0)

(या जो भी आपका डिफ़ॉल्ट है warn, यह उत्तर देखें )


5
यह काम करता है, लेकिन 22 सितंबर, 2015 से फ्रांसेस्को नेपोलिटानो का दृष्टिकोण सुरक्षित और अधिक विश्व स्तर पर लागू विधि है।
एंडी क्लिफ्टन

मैं @Andy से सहमत हूं, और उनके उत्तर को स्वीकृत के रूप में चिह्नित किया जाना चाहिए।
JASC

106

आप चाहते हैं options(warn=-1)। हालांकि, ध्यान दें कि warn=0यह सबसे सुरक्षित चेतावनी स्तर नहीं है और इसे वर्तमान के रूप में नहीं माना जाना चाहिए, विशेषकर स्क्रिप्ट या फ़ंक्शन के भीतर। इस प्रकार चेतावनी को अस्थायी रूप से बंद करने का सबसे सुरक्षित तरीका है:

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

[your "silenced" code]

options(warn = oldw)

41

मैंने अब C- कोड में printfकॉल के साथ कॉल को बदल दिया है warning। यह 2.17.2 संस्करण में प्रभावी होगा जो कल रात उपलब्ध होना चाहिए। फिर आपको suppressWarnings()ऊपर बताए गए तरीकों से या किसी अन्य के साथ चेतावनी से बचने में सक्षम होना चाहिए ।

suppressWarnings({ your code })

6
यह करने का सही तरीका है। उत्तर के रूप में चिह्नित किया जाना चाहिए।
डेनिस

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.