कमांड लाइन knitrR CMD Sweave myfile.rnw
के समतुल्य क्या है?'आर सीएमडी स्वीवे myfile.rnw` के knitr समकक्ष क्या है?
उत्तर
सामान्य समाधान (आर संस्करण की परवाह किए बिना काम करता है):
Rscript -e "library(knitr); knit('myfile.Rmd')"
आर 3.1.0 के बाद से, R CMD Sweave
गैर Sweave दस्तावेजों (हालांकि आदेश नाम एक छोटे से अजीब लगता है) का समर्थन करने के लिए शुरू कर दिया गया है, और केवल एक चीज जो आपको करने की ज़रूरत है वह है अपने दस्तावेज़ में एक विग्नेट इंजन निर्दिष्ट करना, उदाहरण के लिए
%\VignetteEngine{knitr::knitr}
knitr में संभव शब्दचित्र इंजन देखने के लिए, का उपयोग
library(knitr)
library(tools)
names(vignetteEngine(package = 'knitr'))
# "knitr::rmarkdown" "knitr::knitr" "knitr::docco_classic" "knitr::docco_linear"
अरे ... मैं इसे पोस्ट करने जा रहा था लेकिन मुझे लगा कि मैं थोड़ा सा जांच कर रहा हूं कि कम शर्मीली विकल्प था ... – Dason
क्या है कितना स्वादिष्ट? वास्तव में आर में बनाया जा रहा है, आप ज्यादा बेहतर नहीं कर सकते हैं। मेरे मेकफ़ाइल में '$ (आरएससीआरआईपीटी) -e" लाइब्रेरी (बुनाई) है; बुनाई (\ "$ *। आरएनडब्ल्यू \") "' –
शानदार। इस विशेष उदाहरण में, मैं अभी भी आर मार्कडाउन के बजाय लाटेक्स का उपयोग कर रहा था, इसलिए यह 'रुपये-लिपि लाइब्रेरी (knitr) था; बुनाई (' myfile.rnw ') "' –
मैं एक knitme.R स्क्रिप्ट है:
library(knitr)
render_html()
source("hooks.R") # mods to defaults
inFile = commandArgs(trailingOnly=TRUE)[1]
outFile = commandArgs(trailingOnly=TRUE)[2]
knit(inFile,output=outFile)
तो मैं तो कर सकते हैं
Rscript knitme.R $SOURCE $TARGET
जहां $SOURCE
और $TARGET
आवश्यक हैं।
तुम भी Make
में इस एकीकृत कर सकता है, ताकि आप एक नियम है कि तुम सब करना पड़ा था था:
make myfile.html
और यह myfile.Rhtml
के पास जाकर HTML फ़ाइल का उत्पादन होगा। मैं के बजाय SCons के साथ उपयोग कर रहा हूँ .Rnw
समायोजित करें, तो मैं एक Sconscript फ़ाइल जो थोड़ा और अधिक जटिल है (किया है आंशिक रूप से, क्योंकि मैं केवल अभी SCons उपयोग करने के लिए सीखने शुरू कर दिया, तो यह crufty थोड़ा)
env=Environment()
bld = Builder(action = '/usr/bin/Rscript knitme.R $SOURCE $TARGET',
suffix='.html',
src_suffix='Rhtml')
env.Append(BUILDERS = {'Knit' : bld})
env.Knit(source='test.Rhtml',target='test.html')
हो सकता है तो फिर सब मैं क्या करने की जरूरत है:
scons test.html
और मैं test.html
test.Rhtml
से बनाया गया है, तो test.Rhtml
बदल गया है मिलता है।
यह .. एक Sconstruct
फ़ाइल है कि एक संपूर्ण वेब साइट और यह प्रतियां किसी सर्वर के लिए बनाता है, अन्य निर्भरता के सभी प्रकार के आधार पर का हिस्सा है
बहती विषय से हटकर अब ...
मैं इसे स्कैनस्ट्रक्चर के साथ काम करने के लिए अभी तक नहीं मिला। मुझे पसंद है, http://tex.stackexchange.com/a/26573/8272 –
R CMD knit file.Rmd
प्रत्यक्ष आर सीएमडी Sweave file.Rmd
हाल ही में, वहाँ बढ़ा रहे हैं कार्यों के लिए गंदा इस तरह का काम के लिए rmarkdown और knitr में बराबर है।स्लाइड्स के लिए, मैं इरादा उत्पादन प्रारूप को नामित करने Rmarkdown YAML हेडर का उपयोग करके किया गया है और कमांड लाइन बुनियादी है अन्य उत्तर के लिए पर जोड़ने के लिए, यदि आप बुनी करना चाहते हैं/फ़ाइल प्रस्तुत करना
R -e "library(rmarkdown); render(\"file.Rmd\")"
की तरह, और सभी एक पंक्ति में उत्पादन खोलने आप का उपयोग कर सकते हैं:
Rscript -e "rmarkdown::render('file.Rmd')" & open file.pdf
मैं यह सब एक पंक्ति में क्या करना पसंद करते हैं, क्योंकि यह आसान है एक पुन: प्रयोज्य विम आदेश के रूप में चलाने के लिए।
यदि आप अपने सिस्टम के गैर-डिफ़ॉल्ट का उपयोग करना चाहते हैं तो आप open
को एक विशिष्ट एप्लिकेशन के साथ भी बदल सकते हैं। अगर मैं विंडोज़ पर हूं तो मैं इसका उपयोग करता हूं और वर्तमान में खुला पीडीएफ आउटपुट ओवरराइट करने के लिए सुमात्रा का उपयोग करना चाहता हूं (इसलिए मुझे इसे हर बार बंद करना याद नहीं है)।
में कुछ ऐसा है जिसे इसे 'स्कैनस्ट्रक्चर' फ़ाइल में बिल्डर के रूप में जोड़ा गया है। देखें: http://stackoverflow.com/a/38806488/1172302। –
http://stackoverflow.com/a/10969107/563329 – isomorphismes