コマンドラインから R スクリプトを実行

Gustavo du Mortier 2023年1月30日
R
  1. Rscript オプション
  2. Rscript で -e パラメータを指定して簡単な式を実行する
コマンドラインから R スクリプトを実行

コマンドラインから R スクリプトを実行する最も便利な方法は、R コードを実行するための代替フロントエンドである Rscript を使用することです。Rscript は、Linux の bash スクリプトや Windows の Task Scheduler タスクなど、異なるコマンドインタプリタから R コードを実行することができます。

Rscript を使用するには、コマンドラインから Rscript コマンドを実行し、実行するスクリプト名を指定しなければならません。これを行うには、Rscript 実行ファイルと R スクリプトの両方のパスを知っていなければならません。Windows の場合、Rscript 実行ファイルのパスは、通常は .r ファイルになります。

C:\Program Files\R\R-3.4.3\bin\Rscript.exe

Rscript を試すには、以下のスクリプトを書いて C:\scripts フォルダに SayHi.r という名前で保存するとよい。

SayHi <- function(name) {
  sprintf("Hi, %s", name);
}

SayHi("Dave")

そして、Rscript.exe ファイルがインストールされているフォルダに移動して、以下のコマンドを実行することで、コマンドラインから実行できます。

Rscript.exe c:\scripts\SayHi.r

出力:

[1] "Hi, Dave"

Rscript オプション

Rscript のオプションはすべて -- で始まる。Rscript を --help オプションで使用するとコマンドの使い方の詳細な説明を得ることができ、--version パラメータは Rscript のバージョンを示します。スクリプトを実行したときに Rscript が何をするかフィードバックを得たい場合は、--verbose オプションを使用することができます。

オプション --default-packages=list (list はカンマ区切りのパッケージ名のリスト) は、環境変数 R_DEFAULT_PACKAGES を設定することで起動時に読み込まれるパッケージを決定します。--default-packages=list オプションが使われていない場合、Rscript は環境変数 R_SCRIPT_DEFAULT_PACKAGES をチェックします。この変数の内容は R_DEFAULT_PACKAGES よりも優先されています。

Rscript で -e パラメータを指定して簡単な式を実行する

実行するスクリプトファイルを指定するのではなく、R で簡単な式を実行したい場合は、Rscript コマンドと同じコマンドラインで -e パラメータで指定することで実行できます。例えば、スクリプトファイルを作成せずに Iris データセットの最初の 4 行をリストアップしたい場合は、コマンドラインから以下のように実行します。

Rscript -e "head(iris,4)"

出力:

 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
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa

Rscript コマンドの詳細については、Rscript 公式ドキュメントを参照してください。