我已经看到了省略号的几个相关问题,但我仍然不确定将“...”作为参数传递是什么意思。我对R完全是新手,但我想了解以下内容:
forest <- randomForest(x = train.x, y = train.y, ...)
答案 0 :(得分:16)
...
参数的典型用法是当函数说f
在内部调用函数g
并使用...
将参数传递给g
而没有明确地将所有这些参数列为自己的形式参数。人们可能想要这样做,例如,当g
具有许多可选参数时,用户可能需要或可能不需要这些参数。然后,不是将所有这些可选参数添加到f
并增加复杂性,而是可以简单地使用...
。
的含义,正如您所问,函数f
将忽略这些并将其传递给g
。有趣的是,...
甚至可能包含g
不想要的参数,它也会忽略它们,例如h
如果它还需要使用...
。但是也要这样看post进行详细讨论。
例如考虑:
f <- function (x, y, ...) {
# do something with x
# do something with y
g(...) # g will use what it needs
h(...) # h will use that it needs
# do more stuff and exit
}
另外,请参阅intro-R manual中的par
示例。
此外,这个post显示如果正在编写一个使用它的函数,如何解压 ...
。