less than 1 minute read

整理自 R Cookbook


R interprets any text between percent signs (%…%) as a binary operator. Several such operators have predefined meanings:

## %% : Modulo operator, 相当于 Java 里的 %
5%%2 ## ==1

## %/% : Integer division
5%/%2 ## ==2

## %*% : Matrix multiplication

## %in% : Returns TRUE if the left operand occurs in its right operand; FALSE otherwise

You can also define new binary operators using the %…% notation, by assigning a two-argument function to it, e.g.

'%+-%' <- function(x,margin) x + c(-1,+1)*margin

100 %+-% 5
[1] 95 105

'%+%' <- function(s1,s2) paste(s1,s2,sep="")

"Hello" %+% "World"
[1] "HelloWorld"

Notice that we quote the binary operator when defining it but not when using it.

Categories:

Updated:

Comments