一部の変数のみを評価することは可能ですか?
t<- function(a,b,c){a+b+c}
t(1,2,c)
エラーを生成する
a + b + c のエラー: 二項演算子への非数値引数
一部の変数のみを評価することは可能ですか?
t<- function(a,b,c){a+b+c}
t(1,2,c)
エラーを生成する
a + b + c のエラー: 二項演算子への非数値引数
いくつかのデフォルトを設定すると、すべてのパラメーターを入力する必要がなくなります。
fun <- function(a=0, b=0, c=0){return(a + b + c)}
fun(1, 2, 3)
#[1] 6
fun(4, 5)
#[1] 9
fun()
#[1] 0
t という名前のかなり重要な関数が既に存在するため、おそらく関数 't' を呼び出すべきではないことに注意してください。
もう少し複雑な例に取り組もうとしていると思います。それ以外の場合は、合計を使用してこのタスクを実行できます。
編集:いくつかのパラメーターの値を設定することにより、マルチパラメーター関数を単一パラメーター関数に変えたいだけのようです。必要なことを行う新しい関数を定義するだけです。
newfun <- function(c){return(fun(1, 2, c))}
newfun(1)
#[1] 4
newfun(5)
#[1] 8
> t<- function(a,b,c){if(missing(c)) { function(c){a+b+c}} else{a+b+c} }
> t(1,2)(4)
[1] 7
> t(1,2)
function(c){a+b+c}
<environment: 0x159956028>
> t(1,2,3)
[1] 6