R函数中Dot / Period的用法

时间:2012-03-11 06:26:48

标签: r

我最近在R中看到了一个有人使用.作为参数的函数。我似乎无法找到任何关于此的文档(除了使用省略号或“点 - 点”)。有人可以指向我的文档方向或提供使用示例吗?

hello.world <- function(.) "Hello World"
# function(.) is what I'm asking about.

2 个答案:

答案 0 :(得分:13)

Dot是符号名称中的有效字符,就像任何字母一样,因此.与说a没有区别 - 它在此上下文中没有特殊含义。你可以这样写:

> . <- 10
> . + .
[1] 20

它可能看起来很奇怪但在R中有效。上面的使用function(.)让我说不寻常,但语法上有效。由于作者没有在函数体中引用.,我们永远不会知道他是指...还是只是因为他可以使用它。

答案 1 :(得分:1)

尽管Simon Urbanek给出的答案是正确的,但这是.作为函数参数优于其他字符的原因。在某些情况下,例如lapply,函数需要通过设计来接收自变量。但是,如果函数内不需要参数,则仍需要一个伪参数名称。 .是最小的字符-几乎是不可见的,因此您不会因函数提供的内容而分心。 function(.)function()一样好,但是有一个优点,当在apply系列中使用时,不会产生错误。