在文档中sapply
并且replicate
有关于使用的警告...
现在,我可以接受它,但想了解它背后的原因。所以我创建了这个人为的小例子:
innerfunction<-function(x, extrapar1=0, extrapar2=extrapar1)
{
cat("x:", x, ", xp1:", extrapar1, ", xp2:", extrapar2, "\n")
}
middlefunction<-function(x,...)
{
innerfunction(x,...)
}
outerfunction<-function(x, ...)
{
cat("Run middle function:\n")
replicate(2, middlefunction(x,...))
cat("Run inner function:\n")
replicate(2, innerfunction(x,...))
}
outerfunction(1,2,3)
outerfunction(1,extrapar1=2,3)
outerfunction(1,extrapar1=2,extrapar2=3)
也许我做了一些明显可怕的错误,但我发现这种结果相当令人沮丧。所以任何人都可以向我解释为什么在上述所有对 的调用中outerfunction
,我得到这个输出:
Run middle function:
x: 1 , xp1: 0 , xp2: 0
x: 1 , xp1: 0 , xp2: 0
Run inner function:
x: 1 , xp1: 0 , xp2: 0
x: 1 , xp1: 0 , xp2: 0
就像我说的:文档似乎对此发出警告,但我不明白为什么会这样。