R 函数学习笔记
1. 函数的定义与调用
在R语言中,使用function()
关键字来定义函数。
rCopy Codemy_function <- function(arg1, arg2) {
# 函数体
}
函数名为my_function
,有两个参数arg1
和arg2
。
要调用函数,可使用my_function()
的形式,并传递所需参数。
rCopy Codemy_function(arg1_value, arg2_value)
2. 函数返回值
使用return()
语句来返回函数的值。如果不使用return()
语句,则函数将默认返回最后一个表达式的值。
rCopy Codesquare <- function(x) {
return(x^2)
}
# 或者直接写成
square <- function(x) {
x^2
}
3. 匿名函数
除了常规函数之外,还可以使用匿名函数来执行简单操作,如枚举列表、过滤器等。
匿名函数可以使用function()
结构创建,但没有名称。
以下是一个使用匿名函数在列表上执行平方操作的例子。
rCopy Codesapply(list(1,2,3), function(x) x^2)
# 结果: 1 4 9
4. 函数参数
R中的函数参数可以指定默认值,以便在未提供参数时使用该默认值。
rCopy Codesum_n <- function(n=10) {
return(sum(1:n))
}
sum_n() # 默认10
sum_n(n=5) # 5
5. 变量作用域
在函数内部创建的变量只在函数内部可见。这被称为局部变量。函数外部的变量被称为全局变量。
以下是一个使用全局变量的示例:
rCopy Codex <- 10
multiply_by_x <- function(y) {
return(x*y)
}
multiply_by_x(5) # 50
6. 函数的递归
函数可以通过将其自身调用来实现递归。
以下是一个计算阶乘的递归函数:
rCopy Codefactorial <- function(n) {
if(n == 0) {
return(1)
} else {
return(n * factorial(n-1))
}
}
factorial(5) # 120
这些是R函数的基本知识点,掌握它们后,就可以更有效地编写代码了。