" function(v)&#34 ;?的作用是什么?

时间:2016-02-15 10:30:47

标签: r

有一条线计算每组的置信区间较低,它是这样的:

lower <- tapply(airquality$Temp, airquality$Month, function(v) t.test(v)$conf.int[1])

function(v)在该行中的作用是什么?

2 个答案:

答案 0 :(得分:2)

创建一个匿名函数。 您可以查看此页面以了解有关匿名功能的更多信息。 http://adv-r.had.co.nz/Functional-programming.html#anonymous-functions

您可以通过以下方式重新编写代码:

myConf <- function(v) {
    return(t.test(v)$conf.int[1])
}
lower <- tapply(airquality$Temp, airquality$Month, myConf)

您可以创建一个函数myConf,并将其用作FUN的{​​{1}}参数。 你现在应该知道那个

tapply

创建一个输入function(v) return(t.test(v)$conf.int[1]) 并返回输出v的函数。

答案 1 :(得分:1)

来自tapply文档:

将一个函数应用于一个参差不齐的数组的每个单元格,即由特定因子级别的唯一组合给出的每个(非空)值组。

function(v)是应用于该特定不规则数组的每个单元格的函数。

其语法必要,因为tapply无法直接应用t.test,就像您的示例一样。因此,您可以使用单个参数v定义一个函数,该函数在执行期间来自tapply