if_else2 {tidyplus} | R Documentation |
Vectorised if else.
Description
Vectorised if else that if true returns first possibility otherwise returns
second possibility (even if the condition is a missing value).
When searching character vectors an alternative solution is to use
str_detect2()
.
Usage
if_else2(condition, true, false)
Arguments
condition |
Logical vector |
true , false |
Values to use for |
Value
Where condition is TRUE
, the matching value from true
, where it's FALSE
or NA
, the matching value from false
.
See Also
ifelse()
and dplyr::if_else()
.
Examples
# consider the following data frame
data <- tibble::tibble(
x = c(TRUE, FALSE, NA),
y = c("x is false", NA, "hello"))
# with a single vector if_else2() behaves the same as the default call to if_else().
dplyr::mutate(data,
y1 = dplyr::if_else(y != "x is false", "x is true", y),
y2 = if_else2(y != "x is false", "x is true", y))
# however in the case of a second vector the use of
# if_else2() does not introduce missing values
dplyr::mutate(data,
x1 = dplyr::if_else(stringr::str_detect(y, "x is false"), FALSE, x),
x2 = if_else2(stringr::str_detect(y, "x is false"), FALSE, x))
# in the case of regular expression matching an alternative is to use
# str_detect2()
dplyr::mutate(data,
x3 = dplyr::if_else(str_detect2(y, "x is false"), FALSE, x))
[Package tidyplus version 0.0.2 Index]