coalesce {dplyr} | R Documentation |
Find the first non-missing element
Description
Given a set of vectors, coalesce()
finds the first non-missing value at
each position. It's inspired by the SQL COALESCE
function which does the
same thing for SQL NULL
s.
Usage
coalesce(..., .ptype = NULL, .size = NULL)
Arguments
... |
One or more vectors. These will be recycled against each other, and will be cast to their common type. |
.ptype |
An optional prototype declaring the desired output type. If
supplied, this overrides the common type of the vectors in |
.size |
An optional size declaring the desired output size. If supplied,
this overrides the common size of the vectors in |
Value
A vector with the same type and size as the common type and common
size of the vectors in ...
.
See Also
na_if()
to replace specified values with an 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)
# The equivalent to a missing value in a list is `NULL`
coalesce(list(1, 2, NULL), list(NA))
# Or generate a complete vector from partially 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 1.1.4 Index]