Joh*_*nck 72
用来描述的词...是"省略号".了解这一点应该可以更容易地搜索有关构造的信息.例如,Google上的第一个热门话题是本网站上的另一个问题:如何在编写自己的函数时使用R的省略号功能?
Ric*_*ton 51
一个让你入门的小例子.
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"))
Run Code Online (Sandbox Code Playgroud)
该函数f将除了第一个输入参数之外的所有参数存储在省略号变量中.要访问其内容,最简单的方法是将其转换为列表(1).然而,主要用途是将参数传递给子函数,这不需要转换(2).
aL3*_*3xa 19
您应该转到"R语言定义",第2.1.9节Dot-dot-dot.它与R安装捆绑在一起.help.start()在交互式会话中运行以启用HTML帮助,然后单击"R语言定义"链接.您也可以使用主站点中的PDF或HTML版本.
无论如何,...用于匹配函数的未指定的形式参数.
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
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我通过trim = .5它并没有被指定为sapply函数的正式参数.
(注意这个例子很简单,你可以sapply(mtcars, median)用来实现相同的结果)
| 归档时间: |
|
| 查看次数: |
29019 次 |
| 最近记录: |