मेरे पास एक फाइल है, जिसे कहा जाता है a.r
, इसमें chmod
755 नंबर हैं,
sayHello <- function(){
print('hello')
}
sayHello()
मैं इसे कमांड-लाइन के माध्यम से कैसे चला सकता हूं?
#!/usr/bin/env Rscript
मेरे पास एक फाइल है, जिसे कहा जाता है a.r
, इसमें chmod
755 नंबर हैं,
sayHello <- function(){
print('hello')
}
sayHello()
मैं इसे कमांड-लाइन के माध्यम से कैसे चला सकता हूं?
#!/usr/bin/env Rscript
जवाबों:
यदि आप चाहते हैं कि आउटपुट को प्रिंट करने के लिए टर्मिनल का उपयोग करना सबसे अच्छा है
Rscript a.R
ध्यान दें कि R CMD BATCH a.R
आउटपुट को रीडायरेक्ट करने के बजाय आउटपुट को स्टैंडर्ड आउट करने के लिए और टर्मिनल पर प्रदर्शित करने के लिए .Rout नामक एक नई फ़ाइल बनाई जाएगी।
R CMD BATCH a.R
# Check the output
cat a.Rout
नोटस्क्रिप्ट का उपयोग करने के बारे में एक और बात यह है कि यह methods
पैकेज को डिफ़ॉल्ट रूप से लोड नहीं करता है जो भ्रम पैदा कर सकता है। इसलिए यदि आप ऐसी किसी भी चीज़ पर भरोसा कर रहे हैं जो आपको प्रदान करती है, तो आप इसे अपनी स्क्रिप्ट में स्पष्ट रूप से लोड करना चाहेंगे।
यदि आप वास्तव ./a.R
में स्क्रिप्ट को कॉल करने के तरीके का उपयोग करना चाहते हैं तो आप स्क्रिप्ट #!
के शीर्ष पर एक उपयुक्त जोड़ सकते हैं
#!/usr/bin/env Rscript
sayHello <- function(){
print('hello')
}
sayHello()
मैं यह भी नोट करूंगा कि यदि आप एक * यूनिक्स प्रणाली पर चल रहे हैं तो उपयोगी लिटलर पैकेज है जो आर को आसान कमांड लाइन पाइपिंग प्रदान करता है। लिपि के जरिए लिपि का उपयोग करना आवश्यक हो सकता है। आगे के विवरण इस प्रश्न में मिल सकते हैं ।
R CMD BATCH
भयानक है। कुछ भी हो लेकिन वह ...
R CMD INSTALL -l ~/R/lib-dev
यह सीधे सवाल का जवाब नहीं देता है। लेकिन कोई व्यक्ति यहां समाप्त हो सकता है क्योंकि वे टर्मिनल से आर का एक ऑनलाइनर चलाना चाहते हैं। उदाहरण के लिए, यदि आप कुछ छूटे हुए पैकेजों को स्थापित करना चाहते हैं और छोड़ना चाहते हैं, तो यह ऑनलाइनर बहुत सुविधाजनक हो सकता है। मैं इसका उपयोग तब करता हूं जब मुझे अचानक पता चलता है कि मैं कुछ पैकेजों को याद करता हूं, और मैं उन्हें वहां स्थापित करना चाहता हूं जहां मैं चाहता हूं।
डिफ़ॉल्ट स्थान पर स्थापित करने के लिए:
R -e 'install.packages(c("package1", "package2"))'
root
विशेषाधिकारों की आवश्यकता वाले स्थान पर स्थापित करने के लिए :
R -e 'install.packages(c("package1", "package2"), lib="/usr/local/lib/R/site-library")'
Rscript -e "getwd()"
टर्मिनल में भी इस्तेमाल कर सकते हैं । रुस्क्रिप्ट केवल कमांड आउटपुट प्रिंट करेगी और पूर्ण आर स्टार्टअप संदेश नहीं।
r -e "cat(getwd(),'\n')"
यदि आपने लिट्लर स्थापित किया है, तो आप इसका उपयोग भी कर सकते हैं । में इस सवाल का जवाब एक प्रकार की कटार Eddelbuettel के रूप में बड़ा और Rscript के बीच का अंतर बताते हैं।
R -e 'install.packages("package", repos="http://cran.us.r-project.org")'
R -r 'options(warn=2); install...'
निष्पादन को रोकने और स्थापना विफल होने की स्थिति में गैर-शून्य त्रुटि कोड प्राप्त करने के लिए एक का उपयोग करना चाहिए । अन्यथा, कोई भी install.packages
त्रुटियां सिर्फ चेतावनी हैं।
कमांड लाइन से R स्क्रिप्ट चलाने का एक और तरीका होगा:
R < scriptName.R --no-save
या के साथ --save
।
यह भी देखें कि कमांड लाइन (टर्मिनल) पर आर स्क्रिप्ट का उपयोग करने का सबसे अच्छा तरीका क्या है? ।
आपको ?Rscript
टर्मिनल से एक आर स्क्रिप्ट चलाने के लिए कमांड की आवश्यकता है ।
की जाँच करें http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html
उदाहरण
## example #! script for a Unix-alike
#! /path/to/Rscript --vanilla --default-packages=utils
args <- commandArgs(TRUE)
res <- try(install.packages(args))
if(inherits(res, "try-error")) q(status=1) else q()
Rmd को कई कमांड द्वारा knitr और rmarkdown के साथ कमांड में कैसे चलाएं और फिर RPubs में HTML फ़ाइल अपलोड करें
यहां एक उदाहरण है: दो पुस्तकालयों को लोड करें और एक आर कमांड चलाएं
R -e 'library("rmarkdown");library("knitr");rmarkdown::render("NormalDevconJuly.Rmd")'
R -e 'library("markdown");rpubsUpload("normalDev","NormalDevconJuly.html")'
R -e 'markdown::rpubsUpload("normalDev","NormalDevconJuly.html")'
फिर भी * यूनिक्स सिस्टम के लिए रुपये का उपयोग करने का एक और तरीका प्रक्रिया प्रतिस्थापन है ।
Rscript <(zcat a.r)
# [1] "hello"
जो स्पष्ट रूप से स्वीकार किए गए उत्तर के समान है, लेकिन यह आपको कमांड की शक्ति को बचाने के बिना अपनी फ़ाइल में हेरफेर करने और चलाने की अनुमति देता है, जैसे:
Rscript <(sed s/hello/bye/ a.r)
# [1] "bye"
इसी तरह Rscript -e "Rcode"
यह भी एक फ़ाइल में बचत के बिना चलाने के लिए अनुमति देता है। इसलिए इसका उपयोग आर-कोड उत्पन्न करने वाली लिपियों के साथ किया जा सकता है, जैसे:
Rscript <(echo "head(iris,2)")
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
बस प्रलेखन के लिए, कभी-कभी आपको स्क्रिप्ट चलाने की आवश्यकता होती है sudo
:
sudo Rscript path/to/your/file.R