R मदद पृष्ठों में "रन नहीं" का क्या अर्थ है?


112

कभी-कभी एक आर हेल्प पेज पर "रन नॉट" वाक्यांश टिप्पणियों में दिखाई देता है। "()" के लिए सहायता पृष्ठ से इसे देखें:

Examples
require(stats); require(graphics)
#examples from glm:
**## Not run:** 
library(MASS)
with(anorexia, {
    anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
                    family = gaussian)
    summary(anorex.1)
})
## End(**Not run**)

उदाहरण कोड में "रन नहीं" का क्या मतलब है?


32
सिर्फ एक संबंधित टिप। आप "उदाहरण (glm)" जारी करके उदाहरण कोड चला सकते हैं।
एडुआर्डो लियोनी

4
यह एक अच्छी टिप है। और मुझे यकीन है कि आर उपयोगकर्ताओं के विशाल बहुमत इसके बारे में नहीं जानते हैं।
डैन गोल्डस्टीन

1
लेकिन ध्यान दें उदाहरण (fn) अभी भी उदाहरण के लिए लिपटे हुए कोड में नहीं हैdontRun
टिम

सिवाय इसके कि आप run.dontrunपैरामीटर सेट करेंTRUE
मूडी_मडस्किपर

जवाबों:


77

"रन न करें" कोड को exampleफ़ंक्शन में निष्पादित नहीं किया जाना चाहिए (जैसे समय लेने वाले कोड भागों, उपयोगकर्ता-इंटरैक्शन, ...)।

उदाहरण देखें ?example:

जैसा कि मैनुअल राइटिंग आर एक्सटेंशन्स में विस्तृत है , हेल्प पेज का लेखक दो अपवाद नियमों के उदाहरणों के कुछ हिस्सों को चिह्नित कर सकता है

  • 'नॉट्रन' कोड को संलग्न करता है जिसे चलाया नहीं जाना चाहिए।

  • 'dontshow' कोड को संलग्न करता है जो मदद पृष्ठों पर अदृश्य है, लेकिन पैकेज चेकिंग टूल और 'उदाहरण () फ़ंक्शन दोनों द्वारा चलाया जाएगा। यह पहले 'टेस्टोनली' था, और यह फॉर्म अभी भी स्वीकार किया जाता है।


3
... मुझे इस समारोह के बारे में कैसे नहीं पता था?
मैट पार्कर

5
यह केवल समय लेने वाला कोड नहीं है जो आम तौर पर एक \ Notrun {} के अंदर डाला जाता है। कोड जिसे उपयोगकर्ता इनपुट की आवश्यकता होती है उसे न तो डेट्रॉन के अंदर होना चाहिए, अन्यथा यह पास नहीं होगाR CMD check
दासोन

2
या: कोड जो एक पैकेज पर निर्भर करता है जो उपयोगकर्ता की मशीन पर स्थापित नहीं हो सकता है। वहाँ बहुत सारे हैं और बहुत से और बहुत से कारण हैं जिनका उपयोग \ Notrun {}
जेसन

25

में "लेखन आर एक्सटेंशन" मैनुअल, \ उदाहरण के बारे में खंड में {...} कहा जाता है कि

आप टेक्स्ट के लिए \ NOTrun {} का उपयोग कर सकते हैं, जो केवल दिखाए जाने चाहिए, लेकिन चलाने के लिए नहीं, और परीक्षण के लिए अतिरिक्त आदेशों के लिए \ dontshow {} जो उपयोगकर्ताओं को नहीं दिखाए जाने चाहिए, लेकिन उदाहरण के द्वारा चलाए जाएंगे ()

जब आप एक पैकेज का निर्माण करते हैं तो सभी कोड in \ NOTrun {} क्लोजर मदद के रूप में दिखाई देते हैं

## Not run:
...
## End(**Not run**)

संपादित करें: यह उत्तर पहले था।


15

यह \donttest{}@ हैडली आर संकुल से (वर्बटिम) जोड़ा और लिया जाता है ।

हालांकि चित्रण के उद्देश्य के लिए, कोड को शामिल करना अक्सर उपयोगी होता है जो त्रुटि का कारण बनता है। \dontrun{}आपको उस उदाहरण में कोड को शामिल करने की अनुमति देता है जिसका उपयोग कभी नहीं किया जाता है। दो अन्य विशेष कमांड हैं। \dontshow{}चलाया जाता है, लेकिन मदद पृष्ठ में नहीं दिखाया गया है: यह अनौपचारिक परीक्षणों के लिए उपयोगी हो सकता है। \donttest{}उदाहरणों में चलाया जाता है, लेकिन R CMD चेक में स्वचालित रूप से नहीं चलाया जाता है। यह उपयोगी है यदि आपके पास उदाहरण हैं जो चलने में लंबा समय लेते हैं। विकल्प नीचे संक्षेप में प्रस्तुत किए गए हैं।

Command      example    help       R CMD check
\dontrun{}                 x
\dontshow{}       x                          x
\donttest{}       x        x

2
ध्यान दें कि अब डाइजेस्ट का परीक्षण नहीं किया गया है
टायलर

1
पैकेज सबमिशन के लिए, क्या आपके पास कोड ब्लॉक की चूक को सही ठहराने में कोई अतिरिक्त टिप्पणी करनी होगी? मेरे पास एक पैकेज न होने की वजह से एक चेक नॉट एवरेस्ट {} उदाहरण है और सोच रहा हूं कि क्या यह एक साधारण के रूप में इसे \ NOTrun {} में बदल रहा है। फ़ंक्शन एक ftp से डेटा डाउनलोड करने के लिए है और CRAN टिप्पणी है: "कि .Rd फ़ाइलों पर टिप्पणी नहीं की गई है। ध्यान दें कि उदाहरण () इन वर्गों को चलाएगा"।
जेफरी इवांस

हाँ यह इतना सरल होना चाहिए।
टायलर रिंकर

@TylerRinker का मतलब है कि फ़ंक्शन कार्य के रूप में सत्यापित है, या @donttest {} के साथ कोड अब जाँच करते समय CRAN द्वारा चलाया जाता है?
टिम

2
हां हैडली की पुस्तक के एक उद्धरण को उद्धृत करता है: "चित्रण के उद्देश्य के लिए, कोड को शामिल करने के लिए अक्सर उपयोगी होता है जो त्रुटि का कारण बनता है। \ NOTrun {} आपको उस उदाहरण में कोड को शामिल करने की अनुमति देता है जो चलाया नहीं जाता है! (आप उपयोग करते थे। एक समान उद्देश्य के लिए \ डाइजेस्ट {} का उपयोग करने में सक्षम, लेकिन यह अब अनुशंसित नहीं है क्योंकि यह वास्तव में परीक्षण किया गया है।) "
टायलर रिंकर

5

M -TO-READ Create R पैकेज के अध्याय 5.4 (R दस्तावेज़ीकरण फ़ाइलें) से C & p : फ्रेडरिक रीक द्वारा एक ट्यूटोरियल :

उदाहरण अनुभाग में निष्पादन योग्य आर कोड होना चाहिए, और स्वचालित रूप से कोड चलाना पैकेज की जांच का हिस्सा है। उदाहरणों के लिए दो विशेष मार्कअप कमांड हैं:

डिट्रान : \ Notrun {} के अंदर सब कुछ परीक्षण या उदाहरण () द्वारा निष्पादित नहीं किया जाता है। यह उपयोगी है, उदाहरण के लिए, इंटरेक्टिव कार्यों के लिए, इंटरनेट आदि को एक्सेस करने वाले फ़ंक्शंस .. इसका मिस यूज़ करके आपके लिए ज़िंदगी को आसान बनाना गलत नहीं है।


3

यहाँ विहित उदाहरण के लिए मदद पृष्ठ में हो सकता है rm:

## Not run: 
## remove (almost) everything in the working environment.
## You will get no warning, so don't do this unless you are really sure.
rm(list = ls())

## End(Not run)

यदि यह चलता है तो निश्चित रूप से अवांछित प्रभाव होगा।

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