在function中使用`…`(三点或点 – 点)

我在哪里可以findfunction的使用...文档? 例子会很有用。

用来形容...的词是“省略号”。 知道这应该使search关于构造的信息更容易。 例如,Google上的第一个问题是本站的另一个问题: 如何在编写自己的函数时使用R的省略号function?

一个小例子让你开始。

 f <- function(x, ...) { dots <- list(...) #1 if(length(dots) == 0) return(NULL) cat("The arguments in ... are\n") print(dots) f(...) #2 } f(1,2,3,"a", list("monkey")) 

函数f将除第一个input参数以外的所有参数存储在省略号variables中。 为了访问其内容,最简单的方法是将其转换为列表(1)。 然而,主要用于将parameter passing给子函数,这不需要转换(2)。

你应该转到“R语言定义”,第2.1.9点点 。 它与R安装捆绑在一起。 在交互式会话中运行help.start()以启动HTML帮助,然后单击The R Language Definition链接。 您也可以从主站点使用PDF或HTML版本。

无论如何, ...用于匹配函数的未指定forms参数。

 args(sapply) function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE) NULL sapply(mtcars, mean, trim = .5) mpg cyl disp hp drat wt qsec vs am gear 19.200 6.000 196.300 123.000 3.695 3.325 17.710 0.000 0.000 4.000 carb 2.000 

正如你所看到的,我通过了trim = .5尽pipe它没有被指定为sapply函数的正式参数。

(注意这个例子很简单,你可以使用sapply(mtcars, median)来达到相同的结果)