R スクリプトからコマンドラインパラメータを読み取るにはどうすればよいですか? 質問する

R スクリプトからコマンドラインパラメータを読み取るにはどうすればよいですか? 質問する

R スクリプトがあり、コード自体にパラメータ値をハードコードするのではなく、複数のコマンドライン パラメータを指定できるようにしたいと考えています。スクリプトは Windows で実行されます。

コマンドラインで指定されたパラメータを R スクリプトに読み込む方法についての情報が見つかりません。それができないとしたら驚きですが、Google 検索で最適なキーワードを使用していないだけかもしれません...

何かアドバイスや推奨事項はありますか?

ベストアンサー1

ディルクの答えはこちら必要なものはすべて揃っています。以下に、最小限の再現可能な例を示します。

exmpl.batと の2 つのファイルを作成しましたexmpl.R

  • exmpl.bat:

    set R_Script="C:\Program Files\R-3.0.2\bin\RScript.exe"
    %R_Script% exmpl.R 2010-01-28 example 100 > exmpl.batch 2>&1
    

    あるいは、以下を使用しますRterm.exe:

    set R_TERM="C:\Program Files\R-3.0.2\bin\i386\Rterm.exe"
    %R_TERM% --no-restore --no-save --args 2010-01-28 example 100 < exmpl.R > exmpl.batch 2>&1
    
  • exmpl.R:

    options(echo=TRUE) # if you want see commands in output file
    args <- commandArgs(trailingOnly = TRUE)
    print(args)
    # trailingOnly=TRUE means that only your arguments are returned, check:
    # print(commandArgs(trailingOnly=FALSE))
    
    start_date <- as.Date(args[1])
    name <- args[2]
    n <- as.integer(args[3])
    rm(args)
    
    # Some computations:
    x <- rnorm(n)
    png(paste(name,".png",sep=""))
    plot(start_date+(1L:n), x)
    dev.off()
    
    summary(x)
    

両方のファイルを同じディレクトリに保存して起動しますexmpl.bat。結果は次のようになります:

  • example.png何らかの筋書きがある
  • exmpl.batch行われたすべてのこと

環境変数を追加することもできます%R_Script%:

"C:\Program Files\R-3.0.2\bin\RScript.exe"

バッチスクリプトで次のように使用します。%R_Script% <filename.r> <arguments>

RScriptとの違いRterm:

おすすめ記事