R: Operator Syntax and Precedence

Syntax {base} | R Documentation

## Operator Syntax and Precedence

### Description

Outlines R syntax and gives the precedence of operators

### Details

The following unary and binary operators are defined. They are listed in precedence groups, from highest to lowest.

`[ [[` | indexing
`:: :::` | access variables in a name space
`$ @` | component / slot extraction
`^` | exponentiation (right to left)
`- +` | unary minus and plus
`:` | sequence operator
`%any%` | special operators
`* /` | multiply, divide
`+ -` | (binary) add, subtract
`< > <= >= == !=` | ordering and comparison
`!` | negation
`& &&` | and
`| ||` | or
`~` | as in formulae
`-> ->>` | rightwards assignment
`=` | assignment (right to left)
`<- <<-` | assignment (right to left)
`?` | help (unary and binary)

Within an expression operators of equal precedence are evaluated from left to right except where indicated.

The links in the See Also section cover most other aspects of the basic syntax.

### Note

There are substantial precedence differences between R and S. In particular, in S `?` has the same precedence as (binary) `+ -` and `& && | ||` have equal precedence.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

### See Also

`Arithmetic`, `Comparison`, `Control`, `Extract`, `Logic`, `NumericConstants`, `Paren`, `Quotes`, `Reserved`.

The R Language Definition manual.

[Package base version 2.6.2 Index]