# all: Are All Values True?

Description Usage Arguments Details Value S4 methods Note References See Also Examples

## Description

Given a set of logical vectors, are all of the values true?

## Usage

 `1` ```all(..., na.rm = FALSE) ```

## Arguments

 `...` zero or more logical vectors. Other objects of zero length are ignored, and the rest are coerced to logical ignoring any class. `na.rm` logical. If true `NA` values are removed before the result is computed.

## Details

This is a generic function: methods can be defined for it directly or via the `Summary` group generic. For this to work properly, the arguments `...` should be unnamed, and dispatch is on the first argument.

Coercion of types other than integer (raw, double, complex, character, list) gives a warning as this is often unintentional.

This is a primitive function.

## Value

The value is a logical vector of length one.

Let `x` denote the concatenation of all the logical vectors in `...` (after coercion), after removing `NA`s if requested by `na.rm = TRUE`.

The value returned is `TRUE` if all of the values in `x` are `TRUE` (including if there are no values), and `FALSE` if at least one of the values in `x` is `FALSE`. Otherwise the value is `NA` (which can only occur if `na.rm = FALSE` and `...` contains no `FALSE` values and at least one `NA` value).

## S4 methods

This is part of the S4 `Summary` group generic. Methods for it must use the signature `x, ..., na.rm`.

## Note

That `all(logical(0))` is true is a useful convention: it ensures that

 `1` ```all(all(x), all(y)) == all(x, y) ```

even if `x` has length zero.

## References

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

`any`, the ‘complement’ of `all`, and `stopifnot(*)` which is an `all(*)` ‘insurance’.
 ```1 2 3 4``` ```range(x <- sort(round(stats::rnorm(10) - 1.2, 1))) if(all(x < 0)) cat("all x values are negative\n") all(logical(0)) # true, as all zero of the elements are true. ```