R の関数には、いくつかのデフォルト値またはカスタム ユーザー関数を使用できます。
myfun = function(x = c('funA', 'funB', 'funC'), customFUN = NULL)
{
}
ユーザーがデフォルトでリストされている x の値を選択すると、customFUN は無視されます。Rでこれを処理する最良の方法は何ですか?
私は使用できます
myfun = function(x = c('funA', 'funB', 'funC'), customFUN = NULL)
{
if (! is.null(customFUN)) {
choosenFUN = match.fun(customFUN)
}
else {
choosenFUN.string = match.arg(x)
if (choosenFUN == 'funA')
choosenFUN = algorithmA
else if (choosenFUN == 'funB')
choosenFUN = algorithmB
#...and so on for the other defaults
}
}
しかし、追加の引数 customFUN を追加するのは奇妙に思えます。これを行う賢い方法があるかもしれません。ありがとう!