Operators
Many functions in R can be written as operators. An operator is a function that takes one or two arguments and can be written without parentheses.
One familiar set of operators is binary operators for arithmetic. R supports arithmetic operations:
> # addition > 1 + 19 [1] 20 > # multiplication > 5 * 4 [1] 20
R also includes notation for other mathematical operations, including moduli, exponents, and integer division:
> # modulus > 41 %% 21 [1] 20? > # exponents > 20 ^ 1 [1] 20 > # integer division > 21 %/% 2 [1] 10
You can define your own binary operators. User-defined binary
operators consist of a string of characters between two % characters. To
do this, create a function of two variables and assign it to an
appropriate symbol. For example, let’s define an operator %myop%
that doubles each operand and then adds
them together:
> `%myop%` <- function(a, b) {2*a + 2*b} > 1 %myop% 1 [1] 4 > 1 %myop% 2 [1] 6
Some language constructs are also binary operators. For example, assignment, indexing, and function calls are binary operators:[19]
> # assignment is a binary operator > # the left side is a symbol, the right is a value > x <- c(1, 2, 3, 4, 5) > # indexing is a binary operator too > # the left side is a symbol, the right is an index > x[3] [1] 3 > # a function call is also a binary operator > # the left side is a symbol pointing to the function argument > # the right side are the arguments > max(1, 2) [1] 2
There are also unary operators that take only one variable. Here are two ...
Get R in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.