% File src/library/base/man/all.Rd % Part of the R package, http://www.R-project.org % Copyright 1995-2010 R Core Team % Distributed under GPL 2 or later \name{all} \title{Are All Values True?} \usage{ all(\dots, na.rm = FALSE) } \alias{all} \description{ Given a set of logical vectors, are all of the values true? } \arguments{ \item{\dots}{zero or more logical vectors. Other objects of zero length are ignored, and the rest are coerced to logical ignoring any class.} \item{na.rm}{logical. If true \code{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 \code{\link[=S3groupGeneric]{Summary}} group generic. For this to work properly, the arguments \code{\dots} 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 \link{primitive} function. } \value{ The value is a logical vector of length one. Let \code{x} denote the concatenation of all the logical vectors in \code{...} (after coercion), after removing \code{NA}s if requested by \code{na.rm = TRUE}. The value returned is \code{TRUE} if all of the values in \code{x} are \code{TRUE} (including if there are no values), and \code{FALSE} if at least one of the values in \code{x} is \code{FALSE}. Otherwise the value is \code{NA} (which can only occur if \code{na.rm = FALSE} and \code{\dots} contains no \code{FALSE} values and at least one \code{NA} value). } \note{ That \code{all(logical(0))} is true is a useful convention: it ensures that \preformatted{all(all(x), all(y)) == all(x, y) } even if \code{x} has length zero. } \section{S4 methods}{ This is part of the S4 \code{\link[=S4groupGeneric]{Summary}} group generic. Methods for it must use the signature \code{x, \dots, na.rm}. } \references{ Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) \emph{The New S Language}. Wadsworth & Brooks/Cole. } \seealso{ \code{\link{any}}, the \sQuote{complement} of \code{all}, and \code{\link{stopifnot}(*)} which is an \code{all(*)} \sQuote{insurance}. } \examples{ 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. } \keyword{logic}