2016-03-16 9 views
6

क्या संशोधित दस्तावेज़ के आधार पर एक रमार्कडाउन फ़ाइल लेना संभव है, प्रोग्रामिक रूप से चंक विकल्पों में हेरफेर करना, और फिर knit करना संभव है?rmarkdown: प्रोग्रामिक रूप से खंड विकल्पों में हेरफेर करें?

मेरे पास कुछ rmarkdown फ़ाइलें हैं जिन्हें मैं purl करना चाहता हूं, सभी कोड (यहां तक ​​कि eval=FALSE वाले भी) शामिल हैं।

इस बिंदु पर, मेरे सबसे अच्छे अनुमान सकता है कि मैं (1) का उपयोग sedeval=TRUE को eval=FALSE स्विच करने के लिए, और उसके बाद है (2) purl

parsed_rmd <- knitr::parse_rmd('my_rmarkdown.rmd') 
for (chunk in parsed_rmd) { 
chunk$eval <- TRUE 
} 
knitr::purl(parsed_rmd, output = 'my_rmarkdown_as_r.R' 
+0

रैंकडाउन हिस्सों में [सशर्त \ 'गूंज \' (या eval या include) का संभावित डुप्लिकेट देखें (http://stackoverflow.com/questions/25354903/conditional-echo-or- eval-or-include-in-rmarkdown-chunks) –

+0

यह डुप्लिकेट नहीं है। वह सवाल कहता है, "क्या आरएमडी की शुरुआत में एक स्विच सेट करने का कोई तरीका है ..." - मेरा सवाल 'आरएमडी' फाइल को संशोधित करने के बारे में नहीं पूछ रहा है, लेकिन एक' आरएमडी 'फाइल के प्रसंस्करण में हेरफेर कैसे करें I मैं संशोधित करने के लिए स्वतंत्र नहीं हूँ। – DavidC

+0

यदि आरएमडी में उन स्थानों में चर था (जैसे eval = doEval) तो आप शायद 'eval <- FALSE कर सकते हैं; बुनाई ("file.Rmd") 'आरएमडी फ़ाइल को और बदले बिना। क्या इससे काम हो जायेगा? –

उत्तर

0

आप 'गूंज' एक तार्किक हालत एक पैरामीटर के आधार पर करने के लिए सेट कर सकते हैं: लेकिन मैं अगर वहाँ की तरह है कुछ अच्छे, उदाहरण के लिए हो सकता है अच्छा लगेगा।

एक Rmarkdown (.Rmd) फ़ाइल बनाएँ और YAML शीर्षक में पैरामीटर को परिभाषित:

params: 
    show_optional: no 

कोड हिस्सा के लिए 'गूंज' विकल्प सेट करें आप इस का मूल्य परीक्षण करने के लिए दिखाने के लिए नहीं चाहते हो सकता है पैरामीटर:

```{r optional_code, echo = (params$show_optional == "Yes")} 
# chunk with code you only want to show sometimes 
``` 

फिर उपयुक्त पैरामीटर के साथ rmarkdown_render फोन:

rmarkdown::render(file = "myreport.rmd", params = list(show_optional = "yes") 

http://rmarkdown.rstudio.com/developer_parameterized_reports.html पैरामीटर

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