我理解dot-dot-dot的含义一般。当我想用未知数量的参数创建自己的函数时,我理解如何使用它。
我不明白它是如何工作的,例如在函数variable.names()
。当我执行?variable.names
时,会写下以下内容:
......传递给其他方法或从其他方法传递的其他参数。
这究竟是什么意思?我不知道我能通过那里。这些传递的参数将如何以及在何处使用。
答案 0 :(得分:4)
省略号参数允许将参数传递给下游函数。我们将用简单的R函数说明如下。
testfunc <- function(aFunction,x,...) {
aFunction(x,...)
}
aVector <- c(1,3,5,NA,7,9,11,32)
# returns NA because aVector contains NA values
testfunc(mean,aVector)
# use ellipsis in testfunc to pass na.rm=TRUE to mean()
testfunc(mean,aVector,na.rm=TRUE)
...和输出:
> testfunc <- function(aFunction,x,...) {
+ aFunction(x,...)
+ }
> aVector <- c(1,3,5,NA,7,9,11,32)
>
> # returns NA because aVector contains NA values
> testfunc(mean,aVector)
[1] NA
> # use ellipsis in testfunc to pass na.rm=TRUE to mean()
> testfunc(mean,aVector,na.rm=TRUE)
[1] 9.714286