2017-12-02 48 views
1

このコード:関数のエラー:引数3試合、複数の仮引数

f1 <- function(abc , ac , df){ 
    list(f1 = abc , f2=ac , f3 = df) 
} 

f1(1,2,a=3) 

を返すエラー:

Error in f1(1, 2, a = 3) : argument 3 matches multiple formal arguments 

が機能によるf1で引数abcacによって一致しているこのエラーaの理由です〜function partial matching

答えて

4

名前付き引数が正式な引数とまったく一致しない場合、 Rは部分一致をの接頭辞で適用しようとします。 abcacはともに "a"で始まり、 とRはどちらを使用するかわからないため、エラーが発生します。

あなたがf1(1, 2, ac=3)を使用する場合は、 そしてRはac、 に3を割り当てますし、それはdfに、残りの未割り当てのパラメータに ので1abcにと2を残りの値を割り当てます。