《数据科学:R语言实现》——1.3 匹配参数

简介:

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

1.3 匹配参数

在R函数中,参数是激活函数的输入变量。我们可以给函数传递一般参数、命名参数、带有默认变量的参数,或者不确定数量的参数。在本教程中,我们会展示如何给定义好的函数传递各种各样的参数。

准备工作

确保你已经在操作系统中安装了R语言,完成了之前的步骤。

实现步骤

执行下列步骤,来创建带有不同类型参数列表的函数。

1.在R控制台中键入下列代码,来创建带有默认值的函数:
image

2.传递3作为输入参数,执行用户定义的函数defaultarg:
image

3.也可以传递其他类型的输入参数:
image

4.同样可以给函数传递两个参数:
image

5.还可以传递一组命名参数的列表:
image

6.在使用命名参数的同时,还可以使用if-else条件语句:
image

7.另外,可以给函数传递不确定数量的参数:
image

运行原理

创建函数的时候,R语言提供了灵活的参数绑定机制。在本教程中,我们首先创建了名为defaultag的函数,它带有两个形参:x和y。这里,y有一个默认值,给定为5。然后,当我们传递3来调用defaultarg函数时,它把3传递给x,把5传递给了y,并且返回了13。除了传递数值作为输入外,我们也可以给函数传递向量(或者其他任何数据类型)。在本例中,如果我们传递向量1:3给defaultarg函数,它就会返回一个向量。

接下来,我们可以看到参数是如何与函数绑定的。当我们使用不带参数名的参数来调用函数的时候,函数会通过位置来绑定传递的值。以步骤4为例,第一个参数3匹配到x,6匹配到y,函数返回15。另一方面,你也可以通过名称传递参数。在步骤5中,我们可以使用任何顺序给函数传递指定名称的参数。因此,如果我们给函数defaultarg传递y=6和x=3,函数也会返回15。

另外,我们可以使用参数作为控制语句。在步骤6中,我们指定了3个形参:x,y和type,其中,参数type带有默认值sum。接着,我们可以为参数type指定取值作为if-else控制流程中的判断条件。也就是说,当我们把sum传递给type时,函数返回x与y的加和;当我们把mean传递给type时,函数返回x和y平均值;当我们把sum和mean之外的任何取值传递给type时,函数返回x和y乘积。

最后,我们可以使用记号...给函数传递不确定数量的参数。在本例的最后一个步骤中,如果我们只给函数传递3和5,函数会先把3传递给x,5传递给y。然后,函数给x加上2,给y乘以2。最后,求x和y的和。然而,如果我们给函数传递两个以上的参数,函数也会对额外的参数求和。

更多技能

除了给出完整的参数名,我们也可以使用参数的缩写来调用函数:
image

这里,我们并没有正确地指定参数名type,函数却可以把unknown传递给参数type,并且返回输出15。

相关文章
|
4天前
|
资源调度 前端开发 数据可视化
R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化自测题
R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化自测题
|
4天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
4天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
4天前
|
存储 数据采集 数据可视化
R语言拟合线性混合效应模型、固定效应随机效应参数估计可视化生物生长、发育、繁殖影响因素
R语言拟合线性混合效应模型、固定效应随机效应参数估计可视化生物生长、发育、繁殖影响因素
|
4天前
|
数据可视化
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
|
4天前
|
数据可视化 前端开发 SEO
R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
|
4天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
4天前
|
前端开发 数据挖掘
使用R语言进行非参数统计分析
【4月更文挑战第27天】R语言非参数统计分析,适用于数据分布未知或不满足正态分布的情况。常用方法包括秩和检验、符号秩检验、Spearman秩相关及Kruskal-Wallis H检验,可通过`wilcox.test`、`signrank.test`、`cor.test`和`kruskal.test`等函数实现。在社会、生物、经济等领域广泛应用,结果解释与验证可借助`summary`、`plot`、自助法和置换测试。通过实例展示了如何使用R进行非参数分析,以比较不同治疗方法的效果。R为非参数统计提供强大工具,助力复杂现象理解和预测。
|
4天前
|
算法
R语言非参数PDF和CDF估计、非参数分位数回归分析间歇泉、GDP增长数据
R语言非参数PDF和CDF估计、非参数分位数回归分析间歇泉、GDP增长数据

热门文章

最新文章