Function()
在 R 语言中,"lambda" 通常指的是匿名函数(anonymous function)。匿名函数是一种无需为其定义名称的函数,可以在需要函数的地方直接定义和使用。R 语言中,你可以使用 function()
关键字来创建匿名函数。
下面是匿名函数的一些示例:
- 基本的匿名函数示例:
# 定义匿名函数并赋值给变量
add_one <- function(x) x + 1
# 使用匿名函数
result <- add_one(3)
print(result)
输出:
[1] 4
在上述示例中,我们使用 function()
关键字定义了一个匿名函数,并将其赋值给变量 add_one
。然后,我们可以像调用其他函数一样调用该匿名函数,并传递参数。
- 直接在函数调用中定义匿名函数:
# 使用匿名函数作为参数
result <- sapply(1:5, function(x) x * 2)
print(result)
输出:
[1] 2 4 6 8 10
在上述示例中,我们在 sapply()
函数的调用中直接定义了匿名函数。该匿名函数将每个元素乘以 2,并返回结果。
匿名函数在需要使用一次性函数或将函数作为参数传递给其他函数时非常有用。你可以根据需要在 R 中创建和使用匿名函数,从而增强代码的灵活性和可读性。
...接收任意数量的参数¶
在R语言中,当在函数定义中定义多个参数时,可以使用"..."这个符号简写来表示函数可以接受任意数量的参数。
例如,如果你想定义一个函数,该函数接受任意数量的参数,并将它们相加,你可以使用以下代码:
add_numbers <- function(...)
{ sum <- 0
for (num in list(...)) {
sum <- sum + num
}
return(sum) }
在这个例子中,"..."表示函数可以接受任意数量的参数,并将它们存储在一个列表中。然后,通过循环遍历这个列表,将所有参数相加并返回结果。