Logic {base} | R Documentation

## Logical Operators

### Description

These operators act on logical vectors.

### Usage

    ! x
    x & y
    x && y
    x | y
    x || y
    xor(x, y)

### Details

`!` indicates logical negation (NOT).

`&` and `&&` indicate logical AND and `|` and `||` indicate logical OR. The shorter form performs elementwise comparisons in much the same way as arithmetic operators. The longer form evaluates left to right examining only the first element of each vector. Evaluation proceeds only until the result is determined. The longer form is appropriate for programming control-flow.

`xor` indicates elementwise exclusive OR.

### See Also

`TRUE` or `logical`.

### Examples

    y <- 1 + (x <- rpois(50, lambda=1.5) / 4 - 1)
    x[(x > 0) & (x < 1)]    # all x values between 0 and 1
    if (any(x == 0) || any(y == 0)) "zero encountered"