Saya punya file, bernama a.r
, memiliki chmod
755,
sayHello <- function(){
print('hello')
}
sayHello()
Bagaimana saya bisa menjalankan ini melalui command-line?
r
command-line
Sait
sumber
sumber
#!/usr/bin/env Rscript
Jawaban:
Jika Anda ingin hasilnya dicetak ke terminal, yang terbaik adalah menggunakan Rscript
Perhatikan bahwa ketika menggunakan
R CMD BATCH a.R
itu alih-alih mengarahkan output ke standar keluar dan menampilkan pada terminal file baru yang disebut a.Rout akan dibuat.Satu hal lain yang perlu diperhatikan tentang penggunaan Rscript adalah bahwa ia tidak memuat
methods
paket secara default yang dapat menyebabkan kebingungan. Jadi, jika Anda mengandalkan apa pun yang disediakan metode, Anda ingin memuatnya secara eksplisit dalam skrip Anda.Jika Anda benar-benar ingin menggunakan
./a.R
cara memanggil skrip, Anda dapat menambahkan yang sesuai#!
ke bagian atas skripSaya juga akan mencatat bahwa jika Anda menjalankan sistem * unix ada paket littler yang berguna yang menyediakan pemipaan baris perintah mudah ke R. Mungkin perlu menggunakan littler untuk menjalankan aplikasi yang mengkilap melalui skrip? Rincian lebih lanjut dapat ditemukan dalam pertanyaan ini .
sumber
R CMD BATCH
mengerikan. Apa pun kecuali itu ...R CMD INSTALL -l ~/R/lib-dev
Ini tidak menjawab pertanyaan secara langsung. Tetapi seseorang mungkin berakhir di sini karena mereka ingin menjalankan oneliner R dari terminal. Misalnya, jika Anda hanya ingin menginstal beberapa paket yang hilang dan berhenti, oneliner ini bisa sangat nyaman. Saya sering menggunakannya ketika tiba-tiba mengetahui bahwa saya kehilangan beberapa paket, dan saya ingin menginstalnya ke tempat yang saya inginkan.
Untuk menginstal ke lokasi default:
Untuk menginstal ke lokasi yang memerlukan
root
hak istimewa:sumber
Rscript -e "getwd()"
terminal. Rscript hanya akan mencetak output perintah dan bukan pesan startup R penuh.r -e "cat(getwd(),'\n')"
jika Anda menginstal littler. Dalam jawaban ini Dirk Eddelbuettel menjelaskan perbedaan antara littler dan Rscript.R -e 'install.packages("package", repos="http://cran.us.r-project.org")'
R -r 'options(warn=2); install...'
untuk menghentikan eksekusi dan mendapatkan kode kesalahan tidak nol jika instalasi gagal. Kalau tidak,install.packages
kesalahan apa pun hanyalah peringatan.Satu lagi cara menjalankan skrip R dari baris perintah adalah:
atau dengan
--save
.Lihat juga Apa cara terbaik untuk menggunakan skrip R pada baris perintah (terminal)? .
sumber
Anda memerlukan
?Rscript
perintah untuk menjalankan skrip R dari terminal.Lihat http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html
Contoh
sumber
Cara menjalankan perintah Rmd dengan knitr dan rmarkdown dengan beberapa perintah, lalu Unggah file HTML ke RPubs
Berikut ini contohnya: memuat dua pustaka dan menjalankan perintah R
sumber
R -e 'markdown::rpubsUpload("normalDev","NormalDevconJuly.html")'
Namun cara lain untuk menggunakan Rscript untuk * sistem Unix adalah Proses Substitusi .
Yang jelas melakukan hal yang sama dengan jawaban yang diterima, tetapi ini memungkinkan Anda untuk memanipulasi dan menjalankan file Anda tanpa menyimpannya kekuatan dari baris perintah, misalnya:
Mirip
Rscript -e "Rcode"
dengannya juga memungkinkan untuk berjalan tanpa menyimpan ke dalam file. Jadi itu bisa digunakan bersamaan dengan skrip yang menghasilkan R-code, misal:sumber
Hanya untuk dokumentasi, terkadang Anda perlu menjalankan skrip sebagai
sudo
:sumber