2017-02-16 4 views
1

Unixスクリプトでは、Rファイルを実行する方法はありますか?Unixスクリプトで引数を使用する方法はありますか?パラメータでのUnixでのRスクリプトの実行

私は、そのシステムにRファイルを実行することを知って、あなたは「Rの-f 『ファイル』を入力する必要がありますが、どのようなコードを使用すると、Rに必要なのですかあなたはUnix上での代わりにこれを入力する必要がありますように:

ファイル "R -f "" ARG1のarg2に" ここ

+0

今質問を編集しました。 – erver

答えて

1

は一例ですtest.Rにこのコードを保存します。[1] "a" "b" "c" "d"を:

#!/usr/bin/env Rscript 
# make this script executable by doing 'chmod +x test.R' 
help = cat(
" 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Help text here 
Arguments in this order: 
    1) firstarg 
    2) secondarg 
    3) thirdarg 
    4) fourtharg 
./test.R firstarg secondarg thirdarg fourtharg 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
\n\n") 

# Read options from command line 
args = commandArgs(trailingOnly = TRUE) 
if(is.element("--help", args) | is.element("-h", args) | is.element("-help", args) | is.element("--h", args)){ 
    cat(help,sep="\n") 
    stop("\nHelp requested.") 
} 

print(args) 

./test.R a b c dを使用して、それを呼び出すことは、印刷する必要があります次にchmod +x test.R を行います。

args[1]を実行してaargs[4]になると、それぞれのargsにアクセスしてdになることができます。

0

Rscriptを使用すると便利ですが、何が尋ねられていない可能性があります。また、入力ファイルを取得してコマンドラインからRを開始することもできます。 Rインタプリタは、そのモードでcommandArgsにアクセスすることもできます。 、ディスプレイ

$ r -f ~/ptest.r --args "test of args" 

そしてRが開きます。

ca <- commandArgs() 
print(ca) 

Unixコマンドラインから、私が行うことができます。また、これは私のデフォルトの作業ディレクトリである私のユーザーディレクトリに最小限の「ptest.R」ファイルであります通常の起動メッセージと.Rprofileによってロードされたパッケージと、その後発表:

> ca <- commandArgs() 
> print(ca) 
[1] "/Library/Frameworks/R.framework/Resources/bin/exec/R" 
[2] "-f"             
[3] "/Users/davidwinsemius/ptest.r"      
[4] "--args"            
[5] "test of args"           
> 
> 

そして終了を。

関連する問題