# The all & any R Functions | 4 Example Codes

In this tutorial, I’ll show you how to use the *all* and *any* R functions. I’m going to combine both functions in this article, since the R syntax and the usage of the two functions are basically the same. Let’s start with the basic R syntax.

**Basic R Syntax:**

all(x) any(x) |

all(x) any(x)

The **all R function** checks in a logical vector, if **all values** are TRUE.

The **any R function** checks in a logical vector, if **any values** are TRUE.

In the following tutorial, I’ll illustrate based on **four examples** how to apply the all and any functions in R.

Let’s get started…

## Example 1: Basic Application of all() & any()

Let’s begin with a simple example. For the example, I’m going to use the following vector:

x1 <- c(1, 5, 3, - 3, 5, - 7, 8) # Example vector x1 # Print vector to RStudio console # 1 5 3 -3 5 -7 8 |

x1 <- c(1, 5, 3, - 3, 5, - 7, 8) # Example vector x1 # Print vector to RStudio console # 1 5 3 -3 5 -7 8

Our example vector is numeric and consists of 7 values.

Now, let’s check if all or any values of this vector are smaller than zero. First, we use the all function:

all(x1 < 0) # Apply all function in R # FALSE |

all(x1 < 0) # Apply all function in R # FALSE

The R all function returns *FALSE*, indicating that not all values of our vector are below zero.

Let’s check if any values are below zero:

any(x1 < 0) # Apply any function in R # TRUE |

any(x1 < 0) # Apply any function in R # TRUE

The R any function returns *TRUE*, indicating that at least one value of our vector is smaller than zero.

OK, that was the typical application of all and any. However, sometimes there occur problems with NA values (i.e. missing data). How to handle NAs with all and any is what I’m going to show you next…

## Example 2: The na.rm Option of all & any

For the second example, I’m going to add an NA value to our vector of Example 1:

x2 <- c(x1, NA) # Example vector with NA value x2 # Print vector to RStudio console # 1 5 3 -3 5 -7 8 NA |

x2 <- c(x1, NA) # Example vector with NA value x2 # Print vector to RStudio console # 1 5 3 -3 5 -7 8 NA

As you can see, our second example vector looks exactly as the first example vector, but this time with an NA value at the last position. Let’s see what happens when we check if all values of our vector are larger than – 10:

all(x2 > - 10) # Apply all function to NA vector # NA |

all(x2 > - 10) # Apply all function to NA vector # NA

The R all function returns NA…

What if we check whether any value is less than – 10?

any(x2 < - 10) # Apply any function to NA vector # NA |

any(x2 < - 10) # Apply any function to NA vector # NA

NA again…

Dont’t worry! There is an easy fix. We can simply specify the *na.rm* option as TRUE in order to exclude NA values from our calculation:

all(x2 > - 10, na.rm = TRUE) # Apply all function with na.rm = TRUE # TRUE |

all(x2 > - 10, na.rm = TRUE) # Apply all function with na.rm = TRUE # TRUE

After setting na.rm = TRUE, the all command returns TRUE. There are values greater than – 10 in our vector.

Now, let’s do the same exercise with the any R function:

any(x2 < - 10, na.rm = TRUE) # Apply any function with na.rm = TRUE # FALSE |

any(x2 < - 10, na.rm = TRUE) # Apply any function with na.rm = TRUE # FALSE

The any command returns FALSE- Our vector contains no value smaller than – 10.

Easy going. Let’s move on to the next example.

## Example 3: Use all & any in Combination with Other Functions

So far, we have only used the less than and greater than operators as input of all and any. However, in combination with all and any, you can use basically any operator or function that returns a logical vector.

Let’s do an example. With the following R code, I’m producing a logical vector with the is.na function and then I’m using this logical vector as input for all…

all(is.na(x2)) # Apply is.na function within all # FALSE |

all(is.na(x2)) # Apply is.na function within all # FALSE

…and any:

any(is.na(x2)) # Apply is.na function within any # TRUE |

any(is.na(x2)) # Apply is.na function within any # TRUE

As you can see, there are values that are not NA (as indicated by all), but at least one value is NA (as indicated by any).

If you ask me, these functions are very useful. Especially, when you can automatize the process…

## Example 4: Apply all & any to All Columns of a Data Frame

For this example, I’m going to use the airquality data.frame.

Let’s load the data:

data("airquality") # Load airquality data |

data("airquality") # Load airquality data

And then let’s have a look at the data:

head(airquality) # First 6 rows of airquality data |

head(airquality) # First 6 rows of airquality data

**Table 1: First Six Rows of Airquality Data.**

The airquality data set consists of six columns, all of them are the data class numeric. Let’s assume you would like to check in all columns of this data matrix, if all or any values are greater than zero.

With the following code, we can create an empty data matrix first, in which we are going to store our results afterwards:

airq_all_any <- matrix(nrow = 2, ncol = ncol(airquality)) # Create empty matrix for results colnames(airq_all_any) <- colnames(airquality) # Colnames of results matrix rownames(airq_all_any) <- c("all > 0", "any > 0") # Rownames of results matrix |

airq_all_any <- matrix(nrow = 2, ncol = ncol(airquality)) # Create empty matrix for results colnames(airq_all_any) <- colnames(airquality) # Colnames of results matrix rownames(airq_all_any) <- c("all > 0", "any > 0") # Rownames of results matrix

Now we can use a for-loop, to check all our columns at once:

for(i in 1:ncol(airquality)) { # Apply all and any to each column airq_all_any[1, i] <- all(airquality[ , i] > 0) airq_all_any[2, i] <- any(airquality[ , i] > 0) } |

for(i in 1:ncol(airquality)) { # Apply all and any to each column airq_all_any[1, i] <- all(airquality[ , i] > 0) airq_all_any[2, i] <- any(airquality[ , i] > 0) }

Let’s print our results to the R or RStudio console:

airq_all_any # Print results to RStudio console # Ozone Solar.R Wind Temp Month Day # all > 0 NA NA TRUE TRUE TRUE TRUE # any > 0 TRUE TRUE TRUE TRUE TRUE TRUE |

airq_all_any # Print results to RStudio console # Ozone Solar.R Wind Temp Month Day # all > 0 NA NA TRUE TRUE TRUE TRUE # any > 0 TRUE TRUE TRUE TRUE TRUE TRUE

As you can see, our results matrix consists of a column for each column of the airquality data as well as of one row indicating if all values are grater that zero and one row indicating if any values are greater than zero.

Of cause you can modify this code for your specific needs, e.g. by specifying na.rm = TRUE (as in Example 2) or by using different ways to produce a logical vector (as in Example 3).

Definitely an awesome way to inspect your data.

## Video: all, any & Similar R Functions

Videos are sometimes easier to understand. If you need more information on the all and any R functions, I can recommend the following video of the YouTube channel HowTo. The speaker explains all, any as well as other useful R functions in some more detail.

## Further Reading

### Subscribe to my free statistics newsletter:

### R Tutorials

abs Function in R

all & any R Functions

Set Aspect Ratio of Plot

attach & detach R Functions

attr, attributes & structure in R

cbind R Command

Change ggplot2 Legend Title

Character to Numeric in R

Check if Object is Defined

col & row sums, means & medians

Complete Cases in R

Concatenate Vector of Strings

Convert Date to Weekday

cumsum R Function

Data Frame Column to Numeric

diff Command in R

difftime R Function

dim Function in R

dir R Function

Disable Scientific Notation

Draw Segments in R

droplevels R Example

Evaluate an Expression

Extract Characters from String

Factor to Numeric in R

Format Decimal Places

get, get0 & mget in R

is.na R Function

is.null Function in R

jitter R Function

Join Data with dplyr Package

length Function in R

lowess R Smoothing Function

max and min Functions in R

NA Omit in R

nchar R Function

ncol Function in R

nrow Function in R

outer Function in R

pairs & ggpairs Plot

parse, deparse & R expression

paste & paste0 Functions in R

pmax and pmin R Functions

polygon Plots in R

pretty R Function

R Find Missing Values

R Functions List (+ Examples)

R NA – Values

R Replace NA with 0

rbind & rbind.fill in R

Read Excel Files in R

readLines, n.readLines & readline

Remove Element from List

Remove Legend in ggplot2

Rename Column Name in R

Replace Last Comma of String

rev R Command

Round Numeric Data in R

Save & Load RData Workspace

scan R Function

setdiff R Function

setNames vs. setnames in R

sink Command in R

Sort, Order & Rank Data in R

sprintf Function in R

Square Root in R

str_c Function of stringr Package

str_sub Function of stringr Package

strptime & strftime Functions

substr & substring R Commands

sweep R Function

Transform Data Frames

union Function in R

unlist in R

weekdays, months, quarters & julian in R

with & within R Functions

Write Excel File in R