代码如下
crossval <- function(data, lambda=0, ytrans=function(x) x)
我想知道函数参数列表中的函数(x)是什么意思?如果一次又一次地调用同一个函数还是什么?如果是这样是否可以调用函数crossval本身?变量ytrans是否必要?我们不能只在函数体中调用函数(x)吗?
代码如下
crossval <- function(data, lambda=0, ytrans=function(x) x)
我想知道函数参数列表中的函数(x)是什么意思?如果一次又一次地调用同一个函数还是什么?如果是这样是否可以调用函数crossval本身?变量ytrans是否必要?我们不能只在函数体中调用函数(x)吗?
@duffymo 涵盖了它,但这里有一个更长的解释。
您在那里看到的称为匿名函数。该函数基本上返回相同的对象(= 什么都不做)。这也可以显式地写成一个命名函数
newFunction <- function(x) {
x
}
那将是
crossval <- function(data, lambda=0, ytrans = newFunction)
这是默认值,就像 in 一样lambda=0
,除了默认值是一个函数本身。
默认函数是返回它传递的 x 值的函数。如果您不提供,那就是将要使用的功能。