函数错误:参数3匹配多个正式参数

时间:2017-12-02 10:18:19

标签: r

此代码:

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

由于abc,函数ac中的参数f1function partial matching是否匹配此错误的原因是什么?

1 个答案:

答案 0 :(得分:6)

当命名参数与任何正式参数完全匹配时, R尝试通过前缀应用部分匹配的abcac都以&#34; a&#34;开头, 并且R不知道应该使用哪一个, 所以它引起了错误。

如果您使用f1(1, 2, ac=3), 那么R会将3分配给ac, 然后它会将剩余的值分配给剩余的未分配参数, 所以1abc2df