Fill in missing values in a vector by pulling successively from other vectors.

coalesce(..., .ptype = NULL, .size = NULL)

Arguments

...

Input vectors. Supports dynamic dots.

.ptype

Optional ptype to override output type

.size

Optional size to override output size

Examples

# Use a single value to replace all missing values
x <- c(1:3, NA, NA)
coalesce(x, 0)
#> [1] 1 2 3 0 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 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