Learn R Programming

dplyr (version 0.7.3)

coalesce: Find first non-missing element

Description

Given a set of vectors, coalesce() finds the first non-missing value at each position. This is inspired by the SQL COALESCE function which does the same thing for NULLs.

Usage

coalesce(...)

Arguments

...

Vectors. All inputs should either be length 1, or the same length as the first argument.

These dots are evaluated with explicit splicing.

Value

A vector the same length as the first ... argument with missing values replaced by the first non-missing value.

See Also

na_if() to replace specified values with a NA.

Examples

Run this code
# NOT RUN {
# Use a single value to replace all missing values
x <- sample(c(1:5, NA, NA, NA))
coalesce(x, 0L)

# Or match together a complete vector from missing pieces
y <- c(1, 2, NA, NA, 5)
z <- c(NA, NA, 3, 4, 5)
coalesce(y, z)

# Supply lists by splicing them into dots:
vecs <- list(
  c(1, 2, NA, NA, 5),
  c(NA, NA, 3, 4, 5)
)
coalesce(!!! vecs)
# }

Run the code above in your browser using DataLab