当前位置: 首页 > news >正文

R语言基础(六):函数

R语言基础(一):注释、变量
R语言基础(二):常用函数
R语言基础(三):运算
R语言基础(四):数据类型
R语言基础(五):流程控制语句

7. 函数

函数是一组完成特定功能的语句。

7.1 内置函数

R语言系统中提供许多内置函数,用户可以直接使用

> seq(1,5)  #得到一个序列
[1] 1 2 3 4 5
> mean(2:8) #平均值
[1] 5
> x = c(-3,-1,1,2,3,4,5)
> mean(x,trim=0.2) #去除左右 20%的数据再计算
[1] 1.8
> median(x) #中位数
[1] 2
> max(22,33) #最大值
[1] 33

R语言中包含常用的数学函数,比如四舍五入、对数函数、三角函数等。

7.2 自定义函数

自定义数使用function声明,函数声明包括参数(可选)和返回值(可选)

#没有参数的函数,f1是函数名

f1 <- function(){
for(i in 1:5){
print(i)
}
}
#调用函数
f1()
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
#有参数的函数,a是自定义的参数
f2 <- function(a){
for(i in 1:a){
print(i)
}
}
#调用函数,需要传参数
f2(3)
[1] 1
[1] 2
[1] 3
f2()
Error in f2() : 缺少参数"a",也没有缺省值
#带默认值的函数
f3 <- function(a=3,b=5){
for(i in a:b){
print(i)
}
}
f3(3,5)
[1] 3
[1] 4
[1] 5
#按参数名赋值
f3(b=5,a=2)
[1] 2
[1] 3
[1] 4
[1] 5
#有参数的函数,a是自定义的参数
f4 <- function(a,b){
sum=0
for(i in a:b){
sum=sum+i
}
#也可以直接写sum,省略return
return(sum)
}
s=f4(1,3) #调用并得到返回值
s
[1] 6

http://www.lryc.cn/news/38850.html

相关文章:

  • [C++] 简单序列化
  • Autosar Configuration(十三)SomeIP之配置TCP/IP
  • 滤波算法 | 无迹卡尔曼滤波(UKF)算法及其Python实现
  • IMU 积分的误差状态空间方程推导
  • VirtualBox的克隆与复制
  • 每天5分钟玩转机器学习算法:逆向概率的问题是什么?贝叶斯公式是如何解决的?
  • 游戏闲聊之游戏是怎么赚钱的
  • Redis高频面试题汇总(下)
  • Windows修改Docker安装目录修改Docker镜像目录,镜像默认存储位置存放到其它盘
  • 376. 摆动序列——【Leetcode每日刷题】
  • mgre实验
  • 一文彻底了解Zookeeper(介绍篇)
  • 1. ELK Stack 理论篇之什么是ELK Stack?
  • 两道有关链表的练习
  • Python uiautomator2安卓自动化测试
  • Leetcode. 160相交链表
  • MDPs —— 马尔可夫决策定义与算法
  • 【C++】图
  • 尾递归优化
  • P1120 小木棍(搜索+剪枝)
  • 【专项训练】动态规划-3
  • 【Linux】信号+再谈进程地址空间
  • C++回顾(二十一)—— list容器
  • 爱国者一体机电脑蓝屏怎么U盘重装系统教学?
  • Vue学习笔记(9)
  • 中值滤波+Matlab仿真+频域响应分析
  • 自然语言处理中数据增强(Data Augmentation)技术最全盘点
  • PINN解偏微分方程实例1
  • 【python 基础篇 十二】python的函数-------函数生成器
  • elasticsearch全解 (待续)