関数を呼び出したいのですが、状況によっては、追加の引数を指定して呼び出す場合としない場合があります。簡単な例を次に示します。
FUN <- function(arg1 = "default1", arg2 = "default2", arg3 = "default3")
print(list(arg1, arg2, arg3))
x1 <- "hi"
x2 <- TRUE
x3 <- 1:3
use.arg3 <- FALSE # This will decide if `x3` is used or not.
if (use.arg3) {
FUN(arg1 = x1, arg2 = x2, arg3 = x3)
} else {
FUN(arg1 = x1, arg2 = x2)
}
コードは明確ですが、少し冗長に感じます。use.arg1
また、もし私が似たような変数を持っていたら、可能性の醜い組み合わせがあるだろうと想像してくださいuse.arg2
(8)...
以下に解決策を投稿しましたが、正確な構文を覚えるのにいつも苦労しているという点で、少し複雑だと思います。
より良いアイデアがあれば、共有していただきありがとうございます。