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.
coalesce(...)
| ... | < |
|---|
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] 5 4 3 0 2 0 1 0# 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 with dynamic dots vecs <- list( c(1, 2, NA, NA, 5), c(NA, NA, 3, 4, 5) ) coalesce(!!!vecs)#> [1] 1 2 3 4 5