Allows the user to succinctly create a new vector based off conditions of a single vector.

case_match(.x, ..., .default = NA, .ptype = NULL)

Arguments

.x

A vector

...

A sequence of two-sided formulas. The left hand side gives the old values, the right hand side gives the new value.

.default

The default value if all conditions evaluate to FALSE.

.ptype

Optional ptype to specify the output type.

Examples

df <- tidytable(x = c("a", "b", "c", "d"))

df %>%
  mutate(
    case_x = case_match(x,
                        c("a", "b") ~ "new_1",
                        "c" ~ "new_2",
                        .default = x)
  )
#> # A tidytable: 4 × 2
#>   x     case_x
#>   <chr> <chr> 
#> 1 a     new_1 
#> 2 b     new_1 
#> 3 c     new_2 
#> 4 d     d