R 中缀运算符

我们在 R 中使用的大多数运算符都是二元运算符(有两个操作数)。

因此,它们是中缀运算符,用于操作数之间。实际上,这些运算符在后台执行函数调用。

例如,表达式 a+b 实际上是以 ab 作为参数调用函数 `+`(),即 `+`(a, b)

注意:反引号(`)很重要,因为函数名包含特殊符号。

以下是一些示例表达式以及在后台调用的实际函数。


示例:R 中的中缀运算符如何工作?

> 5+3
[1] 8
> `+`(5,3)
[1] 8

> 5-3
[1] 2
> `-`(5,3)
[1] 2

> 5*3-1
[1] 14
> `-`(`*`(5,3),1)
[1] 14

可以在 R 中创建用户定义的中缀运算符。这是通过命名一个以 % 开头和结尾的函数来实现的。

以下是一个用户定义的中缀运算符的示例,用于检查一个数是否能被另一个数整除。


示例:用户定义的中缀运算符

`%divisible%` <- function(x,y)
{
   if (x%%y ==0) return (TRUE)
   else          return (FALSE)
}

此函数可以用作中缀运算符 a %divisible% b,也可以用作函数调用 `%divisible%`(a, b)。两者是相同的。

> 10 %divisible% 3
[1] FALSE

> 10 %divisible% 2
[1] TRUE

> `%divisible%`(10,5)
[1] TRUE

定义自己的中缀运算符时要记住的是,它们必须以 % 开头和结尾。在函数定义中用反引号(`)将其括起来,并转义任何特殊符号。


R 中的预定义中缀运算符

R 中的预定义中缀运算符
%% 模运算符
%/% 整除
%*% 矩阵乘法
%o% 外积
%x% 克罗内克积
%in% 匹配运算符
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战