Unixスクリプトでは、Rファイルを実行する方法はありますか?Unixスクリプトで引数を使用する方法はありますか?パラメータでのUnixでのRスクリプトの実行
私は、そのシステムにRファイルを実行することを知って、あなたは「Rの-f 『ファイル』を入力する必要がありますが、どのようなコードを使用すると、Rに必要なのですかあなたはUnix上での代わりにこれを入力する必要がありますように:
ファイル "R -f "" ARG1のarg2に" ここ
Unixスクリプトでは、Rファイルを実行する方法はありますか?Unixスクリプトで引数を使用する方法はありますか?パラメータでのUnixでのRスクリプトの実行
私は、そのシステムにRファイルを実行することを知って、あなたは「Rの-f 『ファイル』を入力する必要がありますが、どのようなコードを使用すると、Rに必要なのですかあなたはUnix上での代わりにこれを入力する必要がありますように:
ファイル "R -f "" ARG1のarg2に" ここ
は一例です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]
を実行してa
とargs[4]
になると、それぞれのargsにアクセスしてd
になることができます。
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"
>
>
そして終了を。
今質問を編集しました。 – erver