2015-05-14 9 views
9

मैंने देखा है कि जब मेरे पास वाईएएमएल में runtime: shiny के साथ आरएमडी है, तो कोड भाग को कैश से पढ़ा नहीं जाता है। मैं सोच रहा हूं कि रमार्कडाउन के लिए चमकदार इंजन का उपयोग करना सिर्फ चंक कैशिंग का समर्थन नहीं करता है, या क्या मैं कुछ गलत कर रहा हूं?इंटरैक्टिव rmarkdown डॉक्टर में knitr कैश खंड का उपयोग करने के लिए संभव है?

उदाहरण RMD फ़ाइल:

--- 
title: "Cache test" 
output: html_document 
--- 

```{r cache=TRUE} 
Sys.sleep(10) 
``` 

आप इस 5 बार चलाते हैं, तो केवल पहली बार 10 सेकंड का समय लगेगा, और बाद में किसी भी रन तेजी से हो जाएगा।

लेकिन यदि आप YAML को runtime: shiny विकल्प जोड़ते हैं, तो प्रत्येक एकल रन में 10 सेकंड लगेंगे।

(पी एस प्रश्न: क्या है या नहीं कोड हिस्सा कैश परीक्षण करने के लिए किसी भी बेहतर तरीके से किया जा रहा है)

उत्तर

2

मैं एक ही समस्या है, जहां, runtime: shiny में, cache स्विच नजरअंदाज कर दिया गया में फंस गयी।

आजकल वहाँ एक समाधान नहीं है, cache=TRUE साथ runtime: shiny_prerendered और context="data" का उपयोग कर:

--- 
title: "Cache test" 
output: html_document 
runtime: shiny_prerendered 
--- 

```{r,context="data", cache=TRUE} 
Sys.sleep(10) 
``` 

इस उम्मीद के रूप में व्यवहार; पहले भाग पर, प्रतिपादन में 10 सेकंड लगते हैं; बाद के रनों पर, कैश किए गए हिस्से का उपयोग किया जाता है।

+2

हां, यह चमकदार पूर्ववर्ती rstudio द्वारा एक महान जोड़ा है :) –

+0

@DeanAttali यदि यह काम करता है, तो जवाब स्वीकार करना न भूलें। –

+0

@Yihui आप सही हैं, धन्यवाद –

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