R 函数学习笔记

1. 函数的定义与调用

在R语言中,使用function()关键字来定义函数。

rCopy Code
my_function <- function(arg1, arg2) { # 函数体 }

函数名为my_function,有两个参数arg1arg2

要调用函数,可使用my_function()的形式,并传递所需参数。

rCopy Code
my_function(arg1_value, arg2_value)

2. 函数返回值

使用return()语句来返回函数的值。如果不使用return()语句,则函数将默认返回最后一个表达式的值。

rCopy Code
square <- function(x) { return(x^2) } # 或者直接写成 square <- function(x) { x^2 }

3. 匿名函数

除了常规函数之外,还可以使用匿名函数来执行简单操作,如枚举列表、过滤器等。

匿名函数可以使用function()结构创建,但没有名称。

以下是一个使用匿名函数在列表上执行平方操作的例子。

rCopy Code
sapply(list(1,2,3), function(x) x^2) # 结果: 1 4 9

4. 函数参数

R中的函数参数可以指定默认值,以便在未提供参数时使用该默认值。

rCopy Code
sum_n <- function(n=10) { return(sum(1:n)) } sum_n() # 默认10 sum_n(n=5) # 5

5. 变量作用域

在函数内部创建的变量只在函数内部可见。这被称为局部变量。函数外部的变量被称为全局变量。

以下是一个使用全局变量的示例:

rCopy Code
x <- 10 multiply_by_x <- function(y) { return(x*y) } multiply_by_x(5) # 50

6. 函数的递归

函数可以通过将其自身调用来实现递归。

以下是一个计算阶乘的递归函数:

rCopy Code
factorial <- function(n) { if(n == 0) { return(1) } else { return(n * factorial(n-1)) } } factorial(5) # 120

这些是R函数的基本知识点,掌握它们后,就可以更有效地编写代码了。