r आर मार्कडाउन और आर नोटबुक के बीच अंतर




rstudio knitr (7)

मैं उच्च स्तर पर समझने की कोशिश कर रहा हूं कि R Markdown और R NoteBook बीच क्या अंतर है। मुझे पता है कि वे परस्पर जुड़े हुए हैं, लेकिन मैं यह पता लगाना चाहूंगा कि वे कैसे संबंधित हैं। मेरी समझ यह है:

मुझे पता है कि आर नोटबुक वास्तव में आर मार्कडाउन दस्तावेज हैं, लेकिन मैं शब्दावली के बारे में भ्रमित हूं।

RStudio नए फ़ाइल विकल्प में R Markdown मार्केडाउन और R NoteBook दोनों हैं और उनमें से किसी एक को चुनने से R NoteBook मार्केडाउन फाइल खुलती है लेकिन मामूली अंतर के साथ। तो बस यह पता लगाने की कोशिश कर रहे हैं कि दो विकल्प क्यों हैं और दोनों के बीच क्या अंतर है?

मैं समझता हूं कि आर नोटबुक को नए रूप में पेश किया गया है और आर मार्केडाउन कुछ समय के लिए रहा है। भ्रम का हिस्सा इसलिए हो सकता है क्योंकि मैंने आर नोटबुक का R Markdown से पहले कभी R Markdown नहीं किया था इसलिए मेरा संबंधित या अधिक विशिष्ट प्रश्न है

आर नोटबुक्स आर मार्कडाउन का उपयोग करने की तुलना में अलग तरीके से क्या कर रहा है या आर नोटबुक क्या नई क्षमताएं ला रहा है?

वेब खोज पर मेरे सभी हिट इंगित कर रहे हैं कि आर नोटबुक आर मार्केडाउन का उपयोग करता है, लेकिन मुझे इस बात पर कोई मदद नहीं मिली कि दोनों के बीच विशेष रूप से अलग क्या है।


हाल ही में मुझे यह पोस्ट मिली जिसने मुझे आर मार्केडाउन बनाम आर नोटबुक मुद्दे पर स्पष्ट कर दिया। http://uc-r.github.io/r_notebook

यहाँ कुछ प्रासंगिक लाइनें हैं:

आर नोटबुक दस्तावेज़ लिखना आर मार्कडाउन दस्तावेज़ लिखने से अलग नहीं है। टेक्स्ट और कोड चंक सिंटैक्स आर मार्केडट ट्यूटोरियल में जो आपने सीखा है, उससे भिन्न नहीं है। प्राथमिक अंतर एक आर नोटबुक की अंतरात्मा में है। मुख्य रूप से यह कि जब एक आर मार्केडाउन डॉक्यूमेंट में चंक्स को निष्पादित किया जाता है, तो सभी कोड एक ही बार में कंसोल में भेजे जाते हैं , लेकिन एक आर नोटबुक में, एक समय में केवल एक लाइन भेजी जाती है । यह निष्पादन को रोकने की अनुमति देता है यदि कोई पंक्ति त्रुटि उठाती है।

जब आप RStudio में R नोटबुक बनाते हैं, तब भी यह बुनना बनाम पूर्वावलोकन पर होता है:

पूर्वावलोकन आपको संपादक की सामग्री की एक प्रदान की गई HTML प्रति दिखाता है। नतीजतन, निट के विपरीत, पूर्वावलोकन कोई आर कोड विखंडू नहीं चलाता है। इसके बजाय, संपादक में अंतिम बार चलने पर चंक का आउटपुट प्रदर्शित होता है।

उम्मीद है यह आपको उपयोगी होगा।


जहां तक ​​मैं समझता हूं और मेरे सेटअप से कोई कोडिंग अंतर नहीं है। अंतर प्रतिपादन में है। फ़ाइल एक्सटेंशन समान है।

जब आप एक नया R नोटबुक बनाते हैं तो यह हेडर में आउटपुट विकल्प में html_notebook जोड़ता है। यही अंतर है। फिर आप इसे बुनाई के बिना जल्दी से प्रतिपादन का पूर्वावलोकन कर सकते हैं। यह आपके द्वारा सेव किए जाने पर पूर्वावलोकन को भी ताज़ा करता है। हालाँकि उस पूर्वावलोकन में आपके पास कोड आउटपुट (कोई आंकड़े नहीं, कोई तालिका नहीं है ..) (कम से कम मेरे सेटअप में)। आउटपुट में html_notebook बिना कोई बटन पूर्वावलोकन नहीं है

जैसा कि आप देख सकते हैं पूर्वावलोकन विकल्प दिखाता है, लेकिन आप इसे किसी भी स्वरूप में भी बुनना चाहते हैं। ऐसा करने पर यह हेडर कोड में जुड़ जाएगा।

हालाँकि, यदि आपके पास अपने हेडर में html_notebook नहीं है, तो आप केवल यह देखने के लिए अपने कोड को html_notebook सकते हैं कि यह कैसा दिखता है (पूरी किताब) (चित्र के साथ मेरे द्वारा डाले गए अतिरिक्त डिफ़ॉल्ट विकल्प को अनदेखा करें)

और पूर्वावलोकन का विकल्प ड्रॉप डाउन मेनू में नहीं दिखता है

अन्यथा यह समान काम करता है। कुछ डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए आउटपुट को कोड अनुभाग में डिफ़ॉल्ट रूप से छिपाया जाता है।

ध्यान दें कि आप अपने हेडर में कई आउटपुट विकल्प मिला सकते हैं ताकि आप पूर्वावलोकन रख सकें और निर्यात के लिए अपने बुनना विकल्प रख सकें।


सबसे महत्वपूर्ण अंतरों में से एक उपरोक्त उत्तरों से पूरी तरह से स्पष्ट नहीं है।

पुस्तक पुस्तिका की धारा ३.२.१.३ से:

संपादक टूलबार पर Run मेनू में एक Restart R and Run All Chunks आइटम भी है, जो आपको सभी विखंडू चलाने से पहले एक ताज़ा आर सत्र देता है। यह Knit बटन के समान है, जो दस्तावेज़ को संकलित करने के लिए एक अलग आर सत्र शुरू करता है।

दूसरे शब्दों में, बुनाई एक नया वातावरण बनाती है और वहां सभी कोड चलाती है। कंट्रास्ट के माध्यम से, आर नोटबुक एचटीएमएल फ़ाइल को रेंडर करने के लिए ग्लोबल एनवायरनमेंट का उपयोग करता है। वास्तव में, एक R नोटबुक के लिए, HTML फ़ाइल में परिवर्तन हर बार होता है। .Rmd दस्तावेज़ सहेजा जाता है। Preview बटन केवल अपनी वर्तमान स्थिति में HTML फ़ाइल खोलता है। कोई कोड नहीं चलाया जाता है। Preview शाब्दिक अर्थ है कि यह क्या कहता है: यह आपको दिखाता है कि पहले से क्या किया गया है।

यह बात क्यों है? उदाहरण के लिए, यदि एक R नोटबुक .Rmd फ़ाइल खोली जाती है, लेकिन कोई कोड .Rmd नहीं चलाया जाता है, तो HTML फ़ाइल सभी मार्कडाउन और इनपुट कोड को ठीक-ठीक प्रस्तुत करेगी, लेकिन कोई आउटपुट नहीं आएगा। या, मान लीजिए कि आप कंसोल में कुछ चर x को परिभाषित करते हैं, लेकिन कोड चंक में नहीं। यदि आप एक R नोटबुक में कहीं x का उपयोग करने का प्रयास करते हैं, तो यह ठीक काम करेगा। HTML दस्तावेज़ का पूर्वावलोकन करना भी ठीक काम करेगा। दूसरी ओर, दस्तावेज़ को बुनाई एक "अज्ञात चर" त्रुटि उत्पन्न करेगा क्योंकि बुनाई एक नए वातावरण में सभी कोड चलाता है, और चर x को कभी भी मार्कडाउन फ़ाइल में परिभाषित नहीं किया गया था।


यहाँ एक व्यावहारिक अंतर है जो मैंने पाया:

जब आपको अपने पाठ की प्रत्येक पंक्ति में पाठ का एक भाग, RMarkdown आवेषण # को टिप्पणी करने की आवश्यकता होती है, जबकि RNotebook बड़े पैमाने पर <!-- ---> संकेतों (जैसे html फ़ाइलों में) के बीच पाठ को कूटबद्ध करता है <!--

कोई कह सकता है, क्या तुच्छ अंतर है। हालाँकि, इसके कारण, मैं अब हमेशा अपने सभी दस्तावेजों के लिए RStudio में R नोटबुक (RMarkdown के बजाय) का उपयोग करता हूं। बाकी सब चीज़ों में, वे एक जैसे लगते हैं (मेरी ज़रूरतों के लिए, कम से कम, जैसे कि html और pdf पैदा करना)

अन्यथा, मेरी टिप्पणियाँ अचानक हेडर बन जाती हैं, जैसे नीचे:

# This part is commented out, but will show as Heading 1 font text

http://rmarkdown.rstudio.com/r_notebooks.html#notebook_file

"साधारण आर मार्काडाउन दस्तावेज" निट "हैं, लेकिन नोटबुक" पूर्वावलोकन "हैं। जबकि नोटबुक पूर्वावलोकन एक रेंडरड मार्केड डॉक्यूमेंट के समान है, नोटबुक पूर्वावलोकन आपके आर कोड चंक्स में से किसी को निष्पादित नहीं करता है"


समानताएं: आर नोटबुक और आर मार्कडाउन दस्तावेज़ बहुत समान हैं। मार्कडाउन प्रारूप दोनों फ़ाइल प्रकारों में काम करता है। दोनों फ़ाइल स्वरूपों का उपयोग कोड को संप्रेषित करने के लिए किया जा सकता है। कोई HTML, PDF और WORD आउटपुट स्वरूपों के लिए बनाए गए दस्तावेज़ को बुनना चुन सकता है। यदि कोड में कोई त्रुटि है, तो आउटपुट उत्पन्न नहीं होगा। फ़ाइल चलाने के लिए: CTRL + SHIFT + K और कोड चंक सम्मिलित करना: CTRL + ALT + I।

आर मार्कडाउन दस्तावेज़: आरएमडी दस्तावेज़ को एक विज़ार्ड के माध्यम से कॉन्फ़िगर किया जा सकता है और इसमें प्रतिलिपि प्रस्तुत करने योग्य दस्तावेज़, प्रस्तुति स्लाइड, चमकदार ऐप आदि और टेम्पलेट से दस्तावेज़ बनाने का विकल्प होता है। यदि आप कोड बदलते हैं, तो Rmd आउटपुट में ouput को निष्पादित किया जाता है। यह दस्तावेज़ का पूर्वावलोकन करने का विकल्प प्रदान नहीं करता है। YAML हेडर में आउटपुट फॉर्मेट इस प्रकार है: आउटपुट: html_document

R नोटबुक दस्तावेज़: R nb दस्तावेज़ को सीधे लॉन्च किया गया है और कोई विज़ार्ड नहीं है (जैसा कि .RMD के मामले में) प्रकट होता है। नोटबुक फ़ाइल के साथ, एक अतिरिक्त HTML फ़ाइल जो * .nb.html का विस्तार करती है, उत्पन्न होती है। नोटबुक में पूर्वावलोकन के लिए विकल्प है। यदि कोई कोड परिवर्तित या संपादित किया गया है, तो नया आउटपुट नहीं दिखाया गया है। आउटपुट को कोड एडिटर में ही दिखाया जाता है। जो भी पुराना आउटपुट था वह केवल रेंडर किया गया है। कोड परिवर्तन से कोई नया आउटपुट उत्पन्न नहीं होता है। कोड आउटपुट दिखाने के लिए, हमें चंक को निष्पादित करना होगा और फिर यह आउटपुट में दिखाई देगा। YAML हेडर के रूप में आउटपुट है: आउटपुट: html_notebook

YAML हेडर : यदि हम YAML हेडर को एक फाइल से दूसरी फाइल में बदलते हैं, तो यह डॉक्यूमेंट के प्रकार को बदल देगा। उदाहरण के लिए, आपके पास एक R नोटबुक है जिसमें html_notebook के रूप में YAML हेडर है। यदि आप YAML हेडर को बदलते हैं, तो आपका आर नोटबुक आर मार्कडाउन दस्तावेज़ में परिवर्तित हो जाएगा।

अगर आपको कोई एक चुनना है, तो RMarkdown डॉक्यूमेंट के साथ जाएं क्योंकि यह जैसे ही आप इसे बुनते हैं वैसे ही अधिक नियंत्रण और अपडेट डॉक्यूमेंट प्रदान करते हैं।


jrnold :

नोटबुक फ़ाइलों को कंसोल को छुपाते हुए संपादक के अंदर आउटपुट दिखाता है। मार्कडाउन फाइलें कंसोल के अंदर आउटपुट दिखाती हैं, और एडिटर के अंदर आउटपुट नहीं दिखाती हैं। वे अपने YAML हेडर में आउटपुट के मूल्य में भिन्न होते हैं।
R नोटबुक के लिए YAML हेडर में लाइन होगी,

---
ouptut: html_notebook
---

R मार्कडाउन फ़ाइल के लिए YAML हेडर में लाइन होगी,

ouptut: html_document

एक आर नोटबुक फ़ाइल से एक आर नोटबुक से YAML हेडर की नकल करना, इसे आर मार्कडाउन फ़ाइल में बदल देता है, और इसके विपरीत। अधिक विशेष रूप से, output के मूल्य को बदलना क्योंकि ओपन करते समय RStudio IDE और बुनाई के दौरान रेकॉर्ड पैकेज जब किसी फ़ाइल के YAML हेडर का उपयोग करता है, और विशेष रूप से YAML हेडर में output कुंजी का मान, यह निर्धारित करने के लिए कि किस प्रकार का। दस्तावेज़ यह है





rnotebook