আমার কাছে একটি ফাইল রয়েছে, যার নাম 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
আউটপুটটিকে স্ট্যান্ডার্ড আউট এ ডাইরেক্টর করার পরিবর্তে এবং টার্মিনালে প্রদর্শন করার পরে a.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 littler এবং Rscript মধ্যে পার্থক্য ব্যাখ্যা করে।
R -e 'install.packages("package", repos="http://cran.us.r-project.org")'
R -r 'options(warn=2); install...'
ইনস্টলেশনটি ব্যর্থ হওয়ার ক্ষেত্রে এক্সিকিউশনটি থামাতে এবং একটি শূন্য-ত্রুটি কোড পাওয়ার জন্য একজনকে ব্যবহার করা উচিত । অন্যথায়, কোনও install.packages
ত্রুটি কেবল সতর্কতা।
কমান্ড লাইন থেকে আর স্ক্রিপ্ট চালানোর আরও একটি উপায় হ'ল:
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()
একাধিক কমান্ড দ্বারা নিটার এবং রমার্কডাউন দিয়ে কীভাবে আরএমডি কমান্ড চালাতে হবে এবং তারপরে আরপিউবে একটি 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