2017-03-25 14 views
6

यदि आरएमडी फ़ाइल में आर कोड समान वैरिएबल नाम का पुन: उपयोग करता है, तो इनलाइन अभिव्यक्ति के स्थान के बावजूद इनलाइन आर अभिव्यक्ति इस चर के अंतिम मान को वापस करने लगती है। इस व्यवहार से बचने के लिए क्या दूर है यह सुनिश्चित करने के लिए कि दस्तावेज़ के विभिन्न हिस्सों में वही परिवर्तनीय नाम पुन: उपयोग नहीं किया गया है?इन-लाइन आर अभिव्यक्ति गलत मान देता है

प्रतिलिपि प्रस्तुत करने योग्य उदाहरण

--- 
title: "R Notebook" 
output: html_notebook 
--- 


```{r} 
df <- cars 
nrow(df) 
``` 

The dataset has `r nrow(df)` rows. 


```{r} 
df <- iris 
nrow(df) 
``` 

The dataset has `r nrow(df)` rows. 

यह निम्न उत्पादन

enter image description here

मैं उपयोग कर रहा हूँ का उत्पादन: आर संस्करण 3.3.2 (2016/10/31) प्लेटफार्म: x86_64- w64-mingw32/x64 (64-बिट) नीचे चल रहा है: विंडोज 7 x64 (7601 बिल्ड करें) सर्विस पैक 1

rmarkdown_1.4 knitr_1.15.1

+0

हो रही है मुझे यह काम करता है दोनों आर नोटबुक और आर Markdown 7 विन, आर 3.3.2 पर में अपेक्षा के अनुरूप, 1.3 rmarkdown के लिए उत्पन्न होगा, 1.15.1 knitr। –

उत्तर

3

समस्या यह है कि अपने शीर्षक में, आप अपनी फ़ाइल, "का पूर्वावलोकन" कर रहे हैं जो वास्तव में स्क्रैच से आपका कोड नहीं चलाता है। इसे चलाने के लिए आपको HTML पर इसे बुनाई है ताकि आपका इन-लाइन कोड सही हो।

समस्या हैडर

--- 
title: "R Notebook" 
output: html_notebook 
--- 

समाधान हैडर

--- 
title: "R Notebook" 
output: 
    html_document: default 
    html_notebook: default 
--- 

अन्य नोट

पिछले समाधान दो समस्याएं हैं। सबसे पहले, RMarkdown प्रलेखन से, "इनलाइन भाव knitr विकल्प नहीं लेते" (http://rmarkdown.rstudio.com/lesson-4.html के अंत देखें)

दूसरा, पिछले जवाब के YAML ठीक से RStudio मजबूर कर स्वरूपित नहीं है वास्तव में फ़ाइल बुनी है। उचित स्वरूपण एक ही समस्या आप

--- 
title: "R Notebook" 
output: 
    html_notebook: default 
--- 
+1

यह वास्तव में समस्या हल करता है !!!! और अब मैं समझता हूं क्यों। मैं सोच रहा हूं कि यह आर नोटबुक के कार्यान्वयन में एक बग है, क्योंकि "समस्या शीर्षलेख" डिफ़ॉल्ट हेडर है जो RStudio टेम्पलेट में परिभाषित करता है जो उत्पन्न होता है जब मैं एक नई आर नोटबुक खोलता हूं। (फाइल -> नई फाइल -> आरएनोटबुक)। – Sasha

+0

दाएं। और Ctrl + Shift + K चलाना वास्तव में दस्तावेज़ को बुना नहीं देता है, यह इसका पूर्वावलोकन करता है। हालांकि, अगर आप विकल्प को बदलते हैं जो "पूर्वावलोकन नोटबुक" कहता है "HTML पर बुनाई" के लिए, तो यह हेडर बदलता है और वह करता है जो आप करना चाहते हैं। और फिर Ctrl + Shift + K काम करेगा (यदि आप कीबोर्ड शॉर्टकट्स का उपयोग करते हैं) –

+0

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

2

शुरुआत में, हम निर्दिष्ट कर सकते हैं cache = TRUE

--- 
title: "R Notebook" 

output: 
html_notebook: default 


--- 

```{r setup, include=FALSE} 
knitr::opts_chunk$set(echo = TRUE) 
knitr::opts_chunk$set(cache=TRUE) 
``` 


```{r} 
df <- cars 
nrow(df) 
``` 

enter image description here

+0

यह मेरे लिए काम नहीं करता है। अभी भी दोनों मामलों में एक ही 150 पंक्तियां मिल रही हैं ... मुझे क्या याद आ रही है? – Sasha

+0

@ साशा मैं Rstudio संस्करण 1.0.136 का उपयोग कर रहा हूँ। सुनिश्चित नहीं है कि यह संस्करण अंतर – akrun

+0

@Sasha बस मेरे संस्करण में कैश = TRUE का उपयोग किए बिना चेक किया गया है। यह ठीक काम कर रहा है। तो, शायद, यह एक संस्करण अंतर – akrun

संबंधित मुद्दे