Lightweight dplyr::if_else with the virtues and vices that come from such an approach.
Attempts to replicate dplyr::if_else but written in base R for faster compile time.
hutils::if_else should be faster than dplyr::if_else … when it works,
but will not work on lists or on factors.
Additional attributes may be dropped.
if_else(condition, true, false, missing = NULL)Logical vector.
Where condition is TRUE/FALSE, use the correspondingtrue/no value.
They must have the same typeof as each other and be the same length as condition or length-one.
If condition is NA, use the corresponding na value. Liketrue andfalse, must
be of the same type and have the same length as condition, unless it has length one.
Where condition is TRUE, the corresponding value in true;
where condition is FALSE, the corresponding value in false.
Where condition is NA, then the corresponding value in na --
unless na is NULL (the default) in which case the value will be NA (with the same
type as true.)
If the result is expected to be a factor then the conditions for type safety are strict and may be made stricter in future.