7
R関数でオプションの引数を指定する「正しい」方法
Rでオプションの引数を使用して関数を作成する「正しい」方法に興味があります。時間の経過とともに、ここで別のルートをとるいくつかのコードに遭遇し、適切な(公式の)位置を見つけることができませんでした。このトピックにおいて。 これまでは、次のようなオプションの引数を記述しています。 fooBar <- function(x,y=NULL){ if(!is.null(y)) x <- x+y return(x) } fooBar(3) # 3 fooBar(3,1.5) # 4.5 この関数は、指定された場合にのみ引数を返しますx。NULL2番目の引数にデフォルト値を使用し、その引数が偶然ではないNULL場合、関数は2つの数値を加算します。 あるいは、次のような関数を書くこともできます(2番目の引数は名前で指定する必要がありますが、代わりに、unlist(z)またはz <- sum(...)代わりに定義することもできます)。 fooBar <- function(x,...){ z <- list(...) if(!is.null(z$y)) x <- x+z$y return(x) } fooBar(3) # 3 fooBar(3,y=1.5) # 4.5 個人的に私は最初のバージョンを好む。しかし、私は両方で良い面と悪い面を見ることができます。最初のバージョンは少しエラーが発生しにくいですが、2番目のバージョンは任意の数のオプションを組み込むために使用できます。 Rでオプションの引数を指定する「正しい」方法はありますか?これまでのところ、私は最初のアプローチに落ち着きましたが、両方とも時々少し「ハッキー」に感じるかもしれません。