在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
就像我說的:該文檔似乎提醒了這一點,但我不明白爲什麼會這樣。
注意,在本例中,事件的「正確」的方法不能正常工作 - 它被複制'x'次(3)而不是'n'次(5)。 – James
@詹姆斯 - 不在我的系統上。我得到了一個2 * 5的矩陣,用於'bar(5,x = 3)' –
糟糕,我的錯誤。轉錄這些例子時有一個錯字。 – James