(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【R言語/Linux】rファイルをコマンドから実行する際の引数の渡し方

スポンサーリンク

やりたいこと

以下のようにコマンドからRスクリプトを実行する際に

# R --vanilla --slave < test.r

引数からプログラム内に値を渡したい。

環境
# R --version
R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

やり方

以下の構文で引数を渡して

# R --vanilla --slave --args hoge < test.r

スクリプト内で以下のように受け取ると

args <- commandArgs(trailingOnly=TRUE)

値が配列に格納されので以下のように取り出す。

myargs <- as.character(args[1])

以下、補足です。

補足

スクリプト内にcommandArgs(trailingOnly=TRUE)を記載するのがポイントで、これを飛ばすとargs[1]という宣言されていないオブジェクトが直接解釈されて以下のようなエラーとなります。

 args[1] でエラー:
   'closure' 型のオブジェクトは部分代入可能ではありません

以上、R言語における引数の渡し方でした。
以上、ご参考になれば幸いです。