53歳限界プログラマの憂鬱

SU/CAR-ST-APplication-cellsから派生したプログラマのブログ

本家はこちら↓
f:id:sucar:20151115183011p:plain

SU/CAR-ST-APplication-cellsの安倍野ミックスと申します
来訪ありがとうございます
シストレツールを自作してます

f:id:sucar:20150414193802p:plain

Rscriptにコマンドラインから引数を渡す(R言語自分用メモ)

Rを立ち上げて対話的に使うのではなくて、ターミナルからバッチ処理させるのにRscriptを使うのだけど、その際に引数を渡す際に発見したこと(自分用メモ)

例えば、

Rscript --vanilla ./R/R07/teststdinrule.R 3 $1 $2 3

というように引数を渡してRscriptを起動しているんのだけど

R言語ソースで

args <- commandArgs() # パラメータのベクトル
argc<-length(args)

とやれば、

argsに引数の文字列を要素とするベクトルが

argcに引数の個数が入る

で、argsを見てみると

[1] "c:\\Program Files\\R\\R-3.1.0\\bin\\x64\\Rterm.exe"
[2] "--slave"
[3] "--no-restore"
[4] "--vanilla"
[5] "--file=./R/R07/teststdinrule.R"
[6] "--args"
[7] "3"
[8] "500"
[9] "0"
[10] "3"

ってなってて、

Rscript --vanilla ./R/R07/teststdinrule.R 3 $1 $2 3

とは異なっていることを発見

引数を渡すときは注意が必要ですね