此代码:
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
在功能上f1
因function partial matching
?
当命名参数与任何形式参数都不完全匹配时,R尝试通过prefix应用部分匹配。abc
并且ac
两个都以“ a”开头,而R不知道应使用哪个,因此会引发错误。
如果使用f1(1, 2, ac=3)
,则R将分配3
到ac
,然后将分配剩余价值的剩余未分配的参数,所以1
要abc
和2
到df
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句