2011-08-11 6 views
6

पर साजिश कर रहा है मेरे पास एक साधारण R स्क्रिप्ट है। जब यह percript.exe के माध्यम से चलाया जाता है, डिफ़ॉल्ट रूप से यह एक पीडीएफ फ़ाइल की साजिश कर रहा है। मैं स्क्रिप्ट चाहता हूं कि एक साजिश खिड़की खोलें।प्रतिलेख पीडीएफ

मैं आदेश का उपयोग:

Rscript.exe tmp_plot.R 

आर फ़ाइल tmp_plot.R शामिल हैं:

x <- 1:10 
y <- sin(x) 
plot(x,y) 

उत्तर

17

आप एक गैर सहभागी तरीके से अनुसंधान चल रहे हैं - डिफ़ॉल्ट इसलिए - Rscript लिपियों के लिए है साजिश उपकरण pdf() है, x11() या जो भी आपके ओएस का डिफ़ॉल्ट है (windows() इसे देखकर)। हालांकि, वैकल्पिक उपकरण खोलना मुश्किल है; x11() या windows() का उपयोग करें। स्क्रीन पर एक साजिश प्रदर्शित करने वाली स्क्रिप्ट लिखने की कोशिश करने में आपके पास समस्या यह है कि, आपके उदाहरण कोड में दिखाया गया है कि स्क्रिप्ट को चित्रित करने पर तुरंत स्क्रिप्ट समाप्त हो जाती है, चाहे स्क्रीन पर प्रदर्शित हो या pdf() डिवाइस पर। पर सबसे अच्छा आप इसे Sys.sleep() का उपयोग कर रोकने के लिए, उदा मिल सकता है .:

x <- 1:10 
y <- sin(x) 
x11() ## or windows() 
plot(x,y) 
Sys.sleep(10) 

मुझे लगता है कि आप गलत तरीके से इस बारे में जा रहे हैं। यदि आप आर "स्क्रिप्ट" चलाते समय अंतःक्रियाशीलता चाहते हैं, जिसके द्वारा मेरा मतलब आर विवरणों का एक सेट है जो कुछ विश्लेषण करता है, तो आप अपने ओएस पर एक संपादक/आईडीई प्राप्त करने से बेहतर होंगे जो आपको स्क्रिप्ट के माध्यम से एक पंक्ति को पार करने की अनुमति देता है या एक समय में कोड का हिस्सा, साथ ही चल रहे आर सत्र के साथ बातचीत। मैं इसके लिए Emacs और ईएसएस एक्सटेंशन का उपयोग करता हूं। आप टिन-आर या आरस्टूडियो को विकल्पों के रूप में देख सकते हैं।

Rscript स्क्रिप्टिंग या बैच जैसी नौकरियों को चलाने के लिए है जिसका मानव संपर्क या हस्तक्षेप की आवश्यकता नहीं है।

+0

उत्तर के लिए धन्यवाद। हाँ, मैं RStudio का उपयोग कर रहा हूँ। मैं बैच फ़ाइल का उपयोग कर एक स्टैंडअलोन एप्लिकेशन के रूप में एक और मशीन पर अपनी आर स्क्रिप्ट "तैनाती" करना चाहता था। क्या मैटलैब के तैनाती के समान कुछ है? – r00kie

3
library(tcltk) # for message box and thus hold-open functionality 

x11() # for Linux, see documentation for other operating systems 

# first plot 
# second plot 

# hold-open functionality prevents script from exiting user acts 
prompt <- "hit spacebar to close plots" 
extra <- "some extra comment" 
capture <- tk_messageBox(message = prompt, detail = extra) 

आप एक निर्धारित टाइमर का विचार पसंद नहीं है, तो ऊपर स्क्रिप्ट केवल (स्पेस बार या प्रवेश) या उपयोगकर्ता से माउस क्लिक (ठीक बटन) कुंजी दबाने पर बाहर निकलें।

+1

प्रतिलिपि डेवलपर्स एक - प्रेस्टिस्ट विकल्प पर विचार करना पसंद कर सकते हैं, जैसा कि [gnuplot] (http://www.gnuplot.info) द्वारा प्रदान किया गया है। –