71

我想知道运算符和为什么%%%/%余数和商。

R 开发人员是否有任何理由或历史赋予他们所拥有的意义?

 > 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
4

3 回答 3

43

在 R 中,您可以使用%[characters]%. 一个简单的例子:

'%p%' <- function(x, y){x^2 + y}

2 %p% 3 # result: 7

虽然我同意%%相当标准的 BlueTrin,但我怀疑%/%可能与我上面展示的那种运算符定义有关——也许它更容易实现,而且很有意义:%/%意味着做一种特殊的除法(整数除法) )

于 2012-07-26T13:34:11.883 回答
31

请查看以下示例,以更清楚地了解不同运算符之间的差异:

> # Floating Division:
> 5/2
[1] 2.5
> 
> # Integer Division:
> 5%/%2
[1] 2
> 
> # Remainder:
> 5%%2
[1] 1
于 2017-06-05T10:15:11.217 回答
11

我认为这是因为%在许多编程语言中经常与模运算符相关联。

例如,在 C、C++、C# 和 Java 以及许多其他从 C 派生语法的语言中就是这种情况(C 本身从 B 中获取)。

于 2012-07-26T13:16:36.080 回答