《数据科学:R语言实现》——1.2 创建R函数

简介:

本节书摘来自华章计算机《数据科学:R语言实现》一书中的第1章,第1.2节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 创建R函数

R语言是函数的集合;用户可以在项目中使用各个程序包中的内置函数,或者为专门的目的定义新的函数。在本教程中,我们会展示如何创建一个R函数。

准备工作

如果你是R语言新手,你可以在R语言的官方网站(http://www.r-project.org/ )上查阅具体的介绍、历史和功能。开始下载安装R语言的时候 ,建议使用R语言综合文档网络 (http://cran.r-project.org/)。

实现步骤

执行下列步骤来创建你的第一个R函数。

1.在R控制台中键入下列代码,创建第一个函数:
image

2.使用下列命令,执行用户定义的函数addnum:
image

或者,你也可以不使用return语句来定义函数:
image

3.使用下列命令,执行用户定义的函数addnum2:
image

4.你可以输入函数名来查看函数的定义:
image

5.你可以使用body和formals来检查函数体和形参:
image
image

运行原理

R函数是组织良好且可重用的代码块,通过重用代码,可以减少编程工作的重复性劳动。而且,通过对函数中语句的模块化,你的R代码会变得更具可读性和可维护性。

借助这些步骤,你现在可以创建addnum和addnum2 R函数,并且使用任何一个函数对两个输入参数实现加和运算。在R语言中,函数通常具有以下形式:
image

FunctionName是函数名,arg1和arg2是参数。大括号内部是函数体,它是合法语句、表达式或者指认的集合。在函数底部,我们可以看到return语句,它把表达式结果返回给调用者并跳出函数。

addnum函数拥有标准的语法,包含body和return语句。然而,你不一定非要在函数结尾的地方加入return语句。如addnum2函数,它本身就会把最后的表达式结果返回给调用者。

如果你想查看函数的具体细节,只需在交互式shell中输入函数名。可以进一步使用body和formals函数来查看函数体和形参。也可以使用args函数来获取函数的参数列表。

更多技能

如果你想查阅R函数的文档,可以使用help函数,或者只需在函数名前输入?。例如,如果你想查阅sum函数的文档,你需要使用以下步骤:
image

相关文章
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
131 3
R语言函数与自定义函数:提高代码的复用性
【8月更文挑战第27天】 自定义函数是R语言编程中不可或缺的一部分,它们通过封装复杂的逻辑和提供灵活的参数化设计,极大地提高了代码的复用性和可维护性。通过掌握自定义函数的基本语法和高级技巧,我们可以编写出更加高效、可读的R语言代码,从而更好地应对复杂的数据分析和统计建模任务。
|
11月前
|
R语言其他相关函数(各函数解析含实例,可供查询)
R语言其他相关函数(各函数解析含实例,可供查询)
250 0
|
11月前
R语言绘图相关函数(含实例)
R语言绘图相关函数(含实例)
127 0
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言可视化渐近正态性、收敛性:大数定律、中心极限定理、经验累积分布函数
R语言可视化渐近正态性、收敛性:大数定律、中心极限定理、经验累积分布函数
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义二次跳跃、非线性跳跃扩散过程转移函数密度的估计及其应用
R语言广义相加(加性)模型(GAMs)与光滑函数可视化
R语言广义相加(加性)模型(GAMs)与光滑函数可视化
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据