coalesce: Find first non-missing element

Description Usage Arguments Value See Also Examples

View source: R/coalesce.R

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

1

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.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 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)

Example output

Attaching package: 'dplyr'

The following objects are masked from 'package:stats':

    filter, lag

The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

[1] 5 0 4 2 0 1 0 3
[1] 1 2 3 4 5
[1] 1 2 3 4 5

dplyr documentation built on Oct. 16, 2018, 5:04 p.m.