use_first_valid_of: Returns first non-NA value from a set of vectors.
Description
At each position of the input vectors, iterates through in order and returns the first non-NA value. This is a robust replacement of the common ifelse(!is.na(x), x, ifelse(!is.na(y), y, z)). It's more readable and handles problems like ifelse's inability to work with dates in this way.
Usage
use_first_valid_of(..., if_all_NA = NA)
Arguments
...
the input vectors. Order matters: these are searched and prioritized in the order they are supplied.
if_all_NA
what value should be used when all of the vectors return NA for a certain index? Default is NA.