为什么在mapply';s MoreArgs参数给出的结果与在其“内部”中执行不同&引用;论点

为什么在mapply';s MoreArgs参数给出的结果与在其“内部”中执行不同&引用;论点,r,mapply,R,Mapply,使用以下代码块: x<-1 mapply(sum, list(x<-x+1)) x mapply(sum, MoreArgs = list(x<-x+1)) x x迭代次数取决于参数的长度。在第二个调用中,您不提供任何参数,因此mapply迭代0次。传递给MoreArgs的内容并不重要 一些例子: mapply(match,integer(0),integer(0)) #list() mapply(match,integer(0),integer(0), MoreArgs=l

使用以下代码块:

x<-1
mapply(sum, list(x<-x+1))
x
mapply(sum, MoreArgs = list(x<-x+1))
x

x迭代次数取决于
参数的长度。在第二个调用中,您不提供任何参数,因此
mapply
迭代0次。传递给
MoreArgs
的内容并不重要

一些例子:

mapply(match,integer(0),integer(0))
#list()
mapply(match,integer(0),integer(0), MoreArgs=list(table=1:10))
#list()
mapply(match,integer(0),1:10, MoreArgs=list(nomatch=2))
#Error in mapply(match, integer(0), 1:10, MoreArgs = list(nomatch = 2)) : 
#  zero-length inputs cannot be mixed with those of non-zero length
所有内容都清楚地记录在
?mapply
中。在参数部分:

…:向量化的参数(向量或列表) 正长度,或全部为零长度)。另见“详情”

详情如下:

“mapply”为“…”的值调用“FUN”(重新循环到 最长的长度,除非任何长度为零),后跟 “MoreArgs”中给出的参数


你能提供一些证据吗?例如,对
mapply
的代码或文档的引用?或者某个例子可以证明行为如您所描述的那样?从文档中可以清楚地看到。我添加了一些例子和相关章节。如果你在函数调用中做了一个赋值,你应该得到你想要的一切get@HongOoi虽然我同意做作业是不好的做法,但这与OP面临的问题无关(至少就我的理解而言)。Guess OP想知道为什么他会根据
MoreArgs
的使用而得到不同的结果。
mapply(match,integer(0),integer(0))
#list()
mapply(match,integer(0),integer(0), MoreArgs=list(table=1:10))
#list()
mapply(match,integer(0),1:10, MoreArgs=list(nomatch=2))
#Error in mapply(match, integer(0), 1:10, MoreArgs = list(nomatch = 2)) : 
#  zero-length inputs cannot be mixed with those of non-zero length