Note: This operator is now out of scope for rlang. It will be replaced by a vctrs-powered operator (probably in the funs package) at which point the rlang version of %|% will be deprecated.

This infix function is similar to %||% but is vectorised and provides a default value for missing elements. It is faster than using base::ifelse() and does not perform type conversions.

x %|% y

## Arguments

x The original values. The replacement values. Must be of length 1 or the same length as x.

c("a", "b", NA, "c") %|% "default"
#> [1]  1  7  3  9 10