coalesce {dplyr} | R Documentation

## 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 `NULL`s.

### Usage

    coalesce(...)

### Arguments

`...` | Vectors. All inputs should either be length 1, or the same length as the first argument. These dots support tidy dots features.

### 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`. `tidyr::replace_na()` to replace `NA` with a value

### Examples

    # 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)

[Package dplyr version 0.8.0.1 Index]