私はコマンドラインからスクリプトとして実行するRスクリプトを書いています。私は次のようにキーワードを使用してスクリプトにコマンドライン引数を渡しています:文字列の解析R
myscript.R --arg1 = 100 --arg2 =「こんにちは」--arg3 = 3.14159
私はR関数を書きたいこと補足されていない引数をデフォルト値で埋めて、オブジェクトのような辞書(すなわち、Rのリストのリスト)にコマンドラインの値を返します。
parseArguments <- function() {
options <- commandArgs(TRUE)
# options now contains "--arg1=100 --arg2='hello' --arg3=3.14159"
# parse string held in variable named options and stuff into a list
# .... Do some string manip ....
args <- list()
args['arg1'] <- 100
args['arg2'] <- 'hello'
args['arg3'] <- 3.14159
args['arg4'] <- 123 # Not found in parsed line so we use a hard coded default
return (args)
}
空白を記入するのに役立つ人はいますか?引数の不明な数に対処するために
ああ、私はここで尋ねられてうれしいです - それは私に永遠にその解決策を思い付くでしょう。簡単な質問 - 指定されていない引数のデフォルト値私が与えた例はちょっと人工的でした。指定したスニペットから、コマンドラインで提供されていない引数がどのように指定されているかを判断する方法は不明です。そのため、デフォルト値に置き換えることができます。それを明らかにしていただけますか?ありがとう! –
関数内では、ls()を使ってローカルに存在するオブジェクトを見つけることができます。すべてのローカルオブジェクトをargエントリの名前としてループし、get()を使用して値を指定することができます。私はコードを追加します。 –
ありがとうございます。私のための興味深い新しいものがたくさんあります。私はすべてを理解しているとは確信していませんが、コードから学びたいと思っています。 –