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.

coalesce(...)

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

A vector the same length as the first `...`

argument with
missing values replaced by the first non-missing value.

`na_if()`

to replace specified values with a `NA`

.
`tidyr::replace_na()`

to replace `NA`

with a value

#> [1] 0 2 1 0 3 0 5 4# 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)#> [1] 1 2 3 4 5# Supply lists by splicing them into dots: vecs <- list( c(1, 2, NA, NA, 5), c(NA, NA, 3, 4, 5) ) coalesce(!!!vecs)#> [1] 1 2 3 4 5