《R语言》课程教学资源(PPT课件)第03章 R函数与流程控制

第3章 R函数与流程控制

本章学习目标 1. 掌握编写自定义R函数 2. 理解函数也是一个对象的概念 3. 理解return( )函数在R语言中的地位 4. 理解R语言中的Generic Function 5. 掌握R语言中的分支结构 6. 掌握R语言中的循环结构

3.1 编写自己的R函数 1. 概述 R语言包含了丰富的内部函数,R语言的扩展包中也包含了大量的可实用函数。这些函数有 的是R的核心团队提供的,有的是各个专业领域的专业人才提供的。在真实的项目中这些 函数可以完成大部分开发者的需求,但还是有一些项目的需求这些函数不能完美的实现, 或者某些函数的实现并不能达到自己的项目目标。因此若是想成为一个合格的R程序员或 者R数据分析师就需要会编写自己的R函数来完成自己的项目需求。这种R函数被开发人员 称之为自定义函数

# # myR_3_1.R # x <- c(5,3,6,12,2,20) # 构建一个向量来存储水果的单价 x.max<- max(x) # 找到最大值 x.min<- min(x) # 找到最小值 y <- x.max - x.min # 计算最大值和最小值的差值 y 运行结果: [1] 18 【例3-1】编写一个计算最贵水果和最便宜水果每斤的价格差的程序,要求用一个向量来存储水果每斤单价

3.1 编写自己的R函数 2. 编写自定义R函数 自定义函数的格式如下: function_name <- function(arg_1, arg_2, .) { Function body return()} 函数组件包括以下几个部分: • ①函数名称(function_name):这是函数的实际名称。函数的所有内容以这个名 称做一个对象存储在R环境中。 • ②参数(arg):参数是一个占位符。当函数被调用时,可以传递一个值到参数中。 参数是可选的,也就是说一个函数可能包含一个参数也可能包含多个参数或者不包 含参数。 • ③函数体(Function body):函数中所有语句集合是函数体。 • ④返回值(return):函数的返回值是函数需要给出的结果

3.1 编写自己的R函数 2. 编写自定义R函数 # # myR_3_2.R # myfu_1 x myfu_1(x) [1] 18 【例3-1】编写一个计算最贵水果和最便宜水果每斤的价格差的程序,要求用一个向量来存储水果每斤单价

3.1 编写自己的R函数 3. 简化R程序 (1)可以省略最后一行的return( )代码,R语言默认会返回最后一行程序代码; (2)在自定义的函数中函数主体需要用“{}”括起来的。在R语言中有一项规定,如果 函数的主体只有一行,是可以省略“{}”。 4. 返回值 (1)return( )函数可以把一个值返回给主调函数; (2)return( )函数可以结束R程序

3.1 编写自己的R函数 5. 函数的参数 (1)多个参数的函数:如果一个函数有多个参数,那么只需要将多个参数放到函数的参 数表中,并且各个参数之间用“,”隔开即可; # # myR_3_7.R # myfu_1 myfu_1(“first”, “second”) [1] “ 第一个参数:first, 第二个参数:second ” > myfu_1(“second”, “first”) [1] “ 第一个参数:second, 第二个参数:first ” 【例3-4】编写一个函数,用于分别打印传入的第一个参数和第二个参数。代码如下: 位置一致原则

# # myR_3_7.R # myfu_1 myfu_1(x1=“first”, x2=“second”) [1] “ 第一个参数: first, 第二个参数: second ” > myfu_1(x2=“second”, “first”) [1] “ 第一个参数: first, 第二个参数: second ” 【例3-1】编写一个函数,用于分别打印传入的第一个参数和第二个参数。代码如下: 名称一致原则

# # myR_3_8.R # myfu_1 myfu_1(x=“first”, “second”) Error in myfu_1(x = "second", "first") : argument 1 matches multiple formal arguments 【例3-4】编写一个函数,用于分别打印传入的第一个参数和第二个参数。代码如下: 前缀一致原则
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《R语言》课程教学资源(PPT课件)第02章 R语言基础.pptx
- 《R语言》课程教学资源(PPT课件)第01章 进入R的世界.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.1 查找的基本概念 9.2 线性表的查找.pptx
- 《R语言》课程教学资源(PPT课件)第04章.pptx
- 《R语言》课程教学资源(PPT课件)第05章 基本图形.pptx
- 《R语言》课程教学资源(PPT课件)第06章 数据预处理.pptx
- 《R语言》课程教学资源(PPT课件)第07章 数据处理与描述性统计.pptx
