使用关键字function
定义函数(和python一样,形式参数可以指定缺省值):
函数名 <- function(形式参数) {
函数体
}
如果函数体很简单,就可以用省略花括号的一行来定义函数:
f <- function(x) x^2
【Return value】函数体中最后一个表达式的结果or显式地使用return(x)
返回结果;和python一样,遇到return(x)
后停止一切。
用来查看函数信息的三个常用函数:
body
:函数体formals
:函数的形式参数environment
:函数定义时所处的环境>>> f <- function(x) x^2
>>> body(f)
x^2
>>> formals(f)
$x
>>> environment(f)
<environment: R_GlobalEnv>
和python几乎完全一样。一些特殊的点:
do.call
进行函数调用:do.call(f, list(3, y=1))
等价于f(3, y=1)
。sin(sqrt(x))
等价于x |> sqrt() |> sin()
。没有函数名的函数:
>>> (function(x) x^2)(3)
[1] 9
无名函数常常用于作为一些函数的参数输入。