2

代码如下

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

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

4

2 回答 2

2

@duffymo 涵盖了它,但这里有一个更长的解释。

您在那里看到的称为匿名函数。该函数基本上返回相同的对象(= 什么都不做)。这也可以显式地写成一个命名函数

newFunction <- function(x) {
    x
}

那将是

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

这是默认值,就像 in 一样lambda=0,除了默认值是一个函数本身。

于 2013-10-29T10:04:47.883 回答
1

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

于 2013-10-29T09:52:57.143 回答