R
のcron
を使用して一部のウェブスクレイピングを自動化しています。R CMD BATCH
を使用することもあれば、Rscript
を使用することもあります。
どちらを使用するかを決定するには、.Rout
ファイルが必要かどうかを主に検討します。
しかし、ここでいくつかの質問に対する回答をSO( this または this など)で読んでいると、Rscript
が好ましいようですR CMD BATCH
へ。
だから私の質問は:
構文が少し異なり、R CMD BATCH
は.Rout
ファイルを保存しますが、Rscript
は保存しないという事実に加えて、2つのファイルの主な違いは何ですか?
いつどちらを優先するべきですか?より具体的には、上記のcron
ジョブで、それらの1つが優先されますか?
littler
をまだ使用していませんが、Rscript
とR CMD BATCH
の両方とどう違うのですか?
R CMD BATCH
は私たちが何年も前に持っていたすべてです。 I/Oが非常に難しくなり、ファイルが残ります。
状況は良くなりました。最初は小さく、次にRscriptを使用しました。どちらも「Shebang」ラインなどに使用できます
#!/usr/bin/r
#!/usr/bin/Rscript
両方ともgetoptやoptparseなどのパッケージで使用できます---コマンドとして機能する適切なRスクリプトを記述できます。それらが数十個ある場合、install.r pkga pkgb pkgc
として呼び出すことができ、3つすべてとその依存関係をインストールするこのような単純なものから始めて、Rプロンプトを独占することなく、コマンドラインから私のために:
#!/usr/bin/env r
#
# a simple example to install one or more packages
if (is.null(argv) | length(argv)<1) {
cat("Usage: installr.r pkg1 [pkg2 pkg3 ...]\n")
q()
}
## adjust as necessary, see help('download.packages')
repos <- "http://cran.rstudio.com"
## this makes sense on Debian where no packages touch /usr/local
lib.loc <- "/usr/local/lib/R/site-library"
install.packages(argv, lib.loc, repos)
そしてカールと同じように、私は同様のRスクリプトを呼び出すcronjobsを持っています。
2015年11月4日の編集:先週の時点で、 littlerは現在CRANにもあります 。
私が理解していることから:
R CMD BATCH:
Rscript:
少し:
実際には、Rscriptを使用して、コマンドラインまたはcronでスクリプトを実行します。