R-函数
R语言函数
R语言具有大量内置函数,用户也可以创建自己的函数。
在R语言中,函数是一个对象,因此R语言解释器能够将控制传递给函数,以及函数完成动作所需的参数。
自定义函数
使用关键字 function
创建R语言的函数。 R语言的函数定义的基本语法如下
函数名 <- function(参数列表){
函数体
返回值 #可以没有
}
参数是可选的; 也就是说,一个函数可能不包含参数。 参数也可以有默认值。
例如:
fun.test <- function(a,b){
c <- a+b
print(c)
}
fun.test(1,2) #调用函数
#输出:
[1] 3
有返回值的函数:
fun.test <- function(a,b){
c <- a+b
return (c) #括号不能省去
}
c = fun.test(1,2)
print(c)
#输出:
[1] 3
调用函数
与python类似,调用函数的参数传入方式也有两种,我的理解就是:按顺序的
、不按顺序的
- 按顺序的,就是指按照参数的位置进行传入参数,例如上面的两个例子
- 不按顺序的,要指定参数名进行传递参数,例如:
fun.test <- function(a,b){
c <- a / b
return (c)
}
c = fun.test(b=10,a=20)
print(c)
#输出:
[1] 2
默认参数
r函数也可以设置默认参数,与其他语言类似,默认参数在定义时也要放在最后面,避免在调用时发生错误,例如
fun.test <- function(a,b= 5){
c <- a / b
return (c)
}
c = fun.test(20)
print(c)
#输出:
[1] 4
注意==:默认参数在设置时,以及函数在调用时传入参数,都只能用 =
,不能用 <-
R函数的功能延迟
R语言在定义时设置了多个参数,但在调用时不一定要把全部参数都给出,也可以只传入部分参数,多余的参数如果没用到就不会报错,只有用到且执行到对应语句才会报错(报错延迟),这与python有些不一样,例如:
fun.test <- function(a,b,d,e){
c <- a+b
print(c) #整个函数没有用到参数 d, e
}
c = fun.test(1,2)
print(c) #没有报错
#输出:
[1] 3
只有用到且执行到函数内部对应语句才会报错,例如:
fun.test <- function(a,b,d,e){
c <- a+b
print(c)
print(d+e) #只有执行到这条语句才会报错
}
fun.test(100,200)
#输出:
[1] 300
Error in print(d + e): 缺少参数"d",也没有缺省值
Traceback:
1. fun.test(100, 200)
2. print(d + e) # at line 4 of file <text>
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383567.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人