功能错误:参数3与多个形式参数匹配。

5
这段代码:
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函数部分匹配所匹配。
1个回答

9

当命名参数与任何形式参数不完全匹配时, R会尝试通过前缀进行部分匹配。 abcac都以"a"开头, 而R不知道应该使用哪一个,因此它会引发错误。

如果您使用f1(1, 2, ac=3), 那么R将把3分配给ac, 然后将剩余的值分配给未分配的其他参数, 因此1分配给abc2分配给df


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接