R - Operators
Operators are used to perform operation on two operands. Operators in R can be categorized as follows:
- Arithmetic operators
- Comparison operators
- Logical operators
- Assignment operators
- Miscellaneous operators
R Arithmetic operators
Arithmetic operators are used to perform arithmetic operations on two operands. These operators work on vectors, matrices and scalars. These operators act on each element of the vector and matrices.
|+||Addition||Add two operands.||Example|
|-||Subtraction||Subtract one operand from another operand.||Example|
|*||Multiplication||Multiply two operands.||Example|
|/||Division||Divide one operand by another operand.||Example|
|^||Exponent / Power||Returns first operand raised to the power of second operand.||Example|
|%%||Modulo||Returns remainder of division operation.||Example|
|%/%||Floor division||Returns quotient of division operation.||Example|
R Comparison operators
Comparison operators are used to compare values of two operands. It returns true when values matches and returns false when values does not match.
|>=||Greater than or equal to||Example|
|<=||Less than or equal to||Example|
R Logical operators
Logical operators are used to combine two or more conditions.
|and||Returns True when all conditions are true|
|or||Returns True when any of the conditions is true|
|not||Returns opposite boolean result|
R Assignment operators
|=||Left Assignment operator: Assigns values of right hand side expression to left hand side operand.||Example|
|<-||Left Assignment operator: Same as (=), except (<-) can be used anywhere, whereas the operator (=) is only allowed at the top level.|
|<<-||Global left Assignment operator: Same functionality as (<-) but as global assignment operator.|
|->||Right Assignment operator: Assigns values of left hand side expression to right hand side operand.||Example|
|->>||Global right Assignment operator: Same functionality as (->) but as global assignment operator.|
R Miscellaneous operators
The below table describes other operators supported by R:
|is||Returns true when both variables are the same object||a is b|
|is not||Returns true when both variables are not the same object||a is not b|
R Operators Precedence
Operator precedence (order of operations) is a collection of rules that reflect conventions about which procedures to perform first in order to evaluate a given expression.
For example, multiplication has higher precedence than addition. Thus, the expression 1 + 2 × 3 is interpreted to have the value 1 + (2 × 3) = 7, and not (1 + 2) × 3 = 9. When exponent is used in the expression, it has precedence over both addition and multiplication. Thus 3 + 52 = 28 and 3 × 52 = 75.
The following table lists the precedence and associativity of R operators. Operators are listed top to bottom, in descending precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence.
Within an expression operators of equal precedence are evaluated from left to right except where indicated (Note that = is not necessarily an operator).
The binary operators ::, :::, $ and @ require names or string constants on the right hand side, and the first two also require them on the left.
|18||:: :::||access variables in a namespace|
|17||$ @||component / slot extraction|
|16||[ ] [[ ]]||indexing|
|15||^||Exponentiation operator (Right to Left)|
|14||+a -a||Unary plus, Unary minus|
|12||%% %*% %/% %in% %o% %x%||Special operators|
|11||* /||Multiplication, Division|
|10||+ -||Addition, Subtraction|
|9||< <= > >=||Less than, Less than or equal, Greater than, and Greater than or equal|
|== !=||Equality and Inequality|
|7||& &&||Logical AND|
|6||| ||||Logical OR|
|5||~||as in formulae|
|4||-> ->>||Right assignment operator, Global right assignment operator|
|3||<- <<-||Left assignment operator, Global left assignment operator (Right to Left)|
|2||=||Left assignment operator (Right to Left)|
|1||?||help (unary and binary)|