《数据科学:R语言实现》——1.8 创建中缀操作符

简介:

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

1.8 创建中缀操作符

在之前的教程中,我们学到了如何创建用户自定义的函数。到目前为止,我们提到的大部分函数都是前缀函数,即参数位于函数名后边的括号中。然而,这种语法会使得两个变量之间的二元操作更加难以阅读。因为我们更熟悉把操作符放到两个变量之间。为了解决这个问题,我们会在本教程中展示如何创建中缀操作符。
准备工作
确保你已经在操作系统中安装了R语言,完成了之前的步骤。
实现步骤
执行下列步骤,来创建R中的中缀操作符。
1.让我们看一下,如何把中缀操作符转换为前缀操作符:
screenshot

运行原理
在标准函数中,如果想执行变量a和b上的运算,我们需要以func(a,b)的形式创建函数。这是标准函数的语法。这种表示要比一般的数学记号(即a * b)难读。然而我们可以创建中缀操作符来简化这种函数语法。
在创建中缀操作符之前,我们查看了两个变量上二元操作符的不同语法。在第1步中,我们展示了如何用二元操作符执行算术运算。与标准的数学公式类似,我们只需要把二元操作符放到两个变量之间。另一方面,我们可以把中缀表示形式转换为前缀表示形式。就像标准函数一样,我们可以使用二元操作符作为函数名,并把变量放在括号中间。
除了可以在R中使用预定义的中缀操作符,用户也可以自己定义一些。要创建一个操作符,我们需要用%作为函数开始和结尾,并用单引号(')或者反引号(`)包含整个函数名。这里,我们创建了名为%match%的操作符,来找出两个向量的交集。我们也可以创建另一个名为%diff%的操作符来找出两个向量的差集。最后,尽管可以使用创建好的中缀操作符来操作两个以上的向量,但是我们使用函数Reduce在列表上执行%match%运算。
更多技能
我们也可以通过创建同名的中缀操作符,重写已有的操作符:
screenshot

这里,我们可以使用+连接两个字符串。

相关文章
|
Java 程序员 云栖大会
9月20日云栖精选夜读 | 如何轻松搞定数据科学面试:Python&R语言篇
对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理、分析和可视化。 在过去几年,R语言和Python成了进行数据科学中最炙手可热的两种语言。这两种语言各有优缺点,掌握这两种语言大有益处,但是针对面试者而言,最好的方式是学习其中一种并熟练掌握。
3089 0
|
数据挖掘 数据库 Python
【R数据科学读书笔记】R语言的数据结构原来可以这样理解
R语言的数据结构原来可以这样理解 这是R数据科学的读书笔记之一,《R数据科学》是一本教你如何用R语言进行数据分析的书。即便我使用R语言快2年多了,但是读这本书还是受益颇多。
1034 0
|
自然语言处理 数据挖掘 Unix
【R数据科学读书笔记】R语言中的管道操作
R语言中的管道操作 这是R数据科学的读书笔记之一,《R数据科学》是一本教你如何用R语言进行数据分析的书。即便我使用R语言快2年多了,但是读这本书还是受益颇多。
1191 0
|
机器学习/深度学习 Python
Python赶超R语言,成为数据科学、机器学习平台中最热门的语言?
近日,kdnuggets做了一个关于数据科学、机器学习语言使用情况的问卷调查,他们分析了954个回答,得出结论——Python已经打败R语言,成为分析、数据科学和机器学习平台中使用频率最高的语言。
1185 0
|
机器学习/深度学习 大数据 物联网

热门文章

最新文章