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

第3章R函数与流程控制
第3章 R函数与流程控制

本章学习目标1.掌握编写自定义R函数2.理解函数也是一个对象的概念3.理解return()函数在R语言中的地位4.理解R语言中的GenericFunction5.掌握R语言中的分支结构6.掌握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函数被开发人员称之为自定义函数
3.1 编写自己的R函数 1. 概述 R语言包含了丰富的内部函数,R语言的扩展包中也包含了大量的可实用函数。这些函数有 的是R的核心团队提供的,有的是各个专业领域的专业人才提供的。在真实的项目中这些 函数可以完成大部分开发者的需求,但还是有一些项目的需求这些函数不能完美的实现, 或者某些函数的实现并不能达到自己的项目目标。因此若是想成为一个合格的R程序员或 者R数据分析师就需要会编写自己的R函数来完成自己的项目需求。这种R函数被开发人员 称之为自定义函数

【例3-1】编写一个计算最贵水果和最便宜水果每斤的价格差的程序,要求用一个向量来存储水果每斤单价##myR 3_1.R##构建一个向量来存储水果的单价 <- c(5,3,6,12,2,20)#找到最大值x.max<-max(x)#找到最小值x.min<- min(x)#计算最大值和最小值的差值y<-x.max-x.miny运行结果:[1] 18
# # 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 bodyreturn()函数组件包括以下几个部分:,①函数名称(function_name):这是函数的实际名称。函数的所有内容以这个名称做一个对象存储在R环境中。:②参数(arg):参数是一个占位符。当函数被调用时,可以传递一个值到参数中。参数是可选的,也就是说一个函数可能包含一个参数也可能包含多个参数或者不包含参数。③函数体(Functionbody):函数中所有语句集合是函数体。④返回值(return):函数的返回值是函数需要给出的结果
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函数【例3-1】编写一个计算最贵水果和最便宜水果每斤的价格差的程序,要求用一个向量来存储水果每斤单价。##myR_3_2.R#myfu_1 x myfu_1(x)[1]18
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函数 3. 简化R程序 (1)可以省略最后一行的return( )代码,R语言默认会返回最后一行程序代码; (2)在自定义的函数中函数主体需要用“{}”括起来的。在R语言中有一项规定,如果 函数的主体只有一行,是可以省略“{}”。 4. 返回值 (1)return( )函数可以把一个值返回给主调函数; (2)return( )函数可以结束R程序

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

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

【例3-4】编写一个函数,用于分别打印传入的第一个参数和第二个参数。代码如下## myR 3 8.R#myfu_1myfu_1(x="first"“second")Errorin myfu 1(x="second","first")argument 1 matches multiple formal arguments
# # 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
- 沈阳师范大学:《高级语言程序设计Python》课程教学大纲 Programming of Computer Language(一).pdf
- 沈阳师范大学:《高级语言程序设计Python》课程授课教案(2020讲义,共三章,授课教师:刘立群).pdf
- 沈阳师范大学:《计算机控制技术》课程授课教案(电子信息工程专业,共九章,主讲教师:申海).pdf
- 沈阳师范大学:《Web程序设计》课程授课教案(讲稿,授课教师:马佳琳).pdf
- 《程序设计基础》课程教学资源(文献资料)INCITS/ISO/IEC 9899-2011[2012](ISO/IEC 9899-2011, IDT)Information technology — Programming languages — C.pdf
- 《数据挖掘技术基础》课程教学资源(授课教案,适用专业:数据科学与大数据技术).docx
- 《数据挖掘技术基础》课程教学大纲(Fundamentals of Data Mining).docx
- 《大学计算机基础》课程教学课件(讲稿)第1章 计算文化.pdf
- 《大学计算机基础》课程教学课件(讲稿)第2章 计算基础.pdf
- 《大学计算机基础》课程教学课件(讲稿)第3章 计算机硬件.pdf
- 《大学计算机基础》课程教学课件(PPT讲稿)第4章 软件平台.ppt
- 《大学计算机基础》课程教学课件(PPT讲稿)第5章 计算机网络.ppt
- 《大学计算机基础》课程教学课件(讲稿)第6章 数据处理与管理.pdf
- 《大学计算机基础》课程教学课件(PPT讲稿)第7章 算法与程序设计基础.ppt
- 《大学计算机基础》课程教学课件(PPT讲稿)第8章 Python程序设计基础.ppt
- 晋中学院:计算机科学与技术专业各课程教学大纲汇编(2023版).pdf
