函数参数列表中的函数(x)在R中的含义是什么?

时间:2013-10-29 09:51:22

标签: r function parameter-passing

代码如下

crossval <- function(data, lambda=0, ytrans=function(x) x) 

我想知道函数参数列表中的函数(x)是什么意思?如果一次又一次地调用相同的函数或什么?如果是这样可以调用函数crossval本身?我需要变量ytrans吗?我们不能只调用函数体中的函数(x)吗?

2 个答案:

答案 0 :(得分:2)

@duffymo覆盖了它,但这里的解释有点长。

您看到的内容称为匿名函数。该函数基本上返回相同的对象(=什么都不做)。这也可以明确地写为命名函数

newFunction <- function(x) {
    x
}

然后是

crossval <- function(data, lambda=0, ytrans = newFunction)

这是默认值,例如lambda=0,但默认值是函数本身。

答案 1 :(得分:1)

默认函数是返回传递的x值的函数。如果你不提供,那就是将要使用的功能。