在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)
来达到相同的结果)