These functions are equivalent to in_case()
, switch_case()
,
grep_case()
, fn_case()
, and fn_switch_case()
but return
factors with their levels determined by the order of their
case statements.
in_case_fct(..., preserve = FALSE, default = NA, ordered = FALSE) switch_case_fct(x, ..., preserve = FALSE, default = NA, ordered = FALSE) grep_case_fct(x, ..., preserve = FALSE, default = NA, ordered = FALSE) fn_case_fct(x, fn, ..., preserve = FALSE, default = NA, ordered = FALSE) fn_switch_case_fct(x, fn, ..., preserve = FALSE, default = NA, ordered = FALSE)
... | <
|
---|---|
preserve | If |
default | If |
ordered | A logical.
If |
x | A vector |
fn | A function to apply to the left-hand side of each formula in Either a quoted or unquoted function name, an anonymous The function should take two inputs, the first being |
A factor vector of length 1 or n, matching the length of the logical
input or output vectors.
Levels are determined by the order of inputs to ...
.
Inconsistent lengths will generate an error.
in_case()
, switch_case()
, grep_case()
, fn_case()
, and
fn_case_fct()
on which these functions are based.
1:10 %>% in_case_fct( . %% 2 == 0 ~ "even", . %% 2 == 1 ~ "odd" )#> [1] odd even odd even odd even odd even odd even #> Levels: even odd#> [1] apple banana cantaloupe #> Levels: cantaloupe banana apple#> [1] apple banana cantaloupe <NA> #> Levels: cantaloupe banana appleswitch_case_fct( c("a", "b", "c", "d"), "c" ~ "cantaloupe", "b" ~ "banana", "a" ~ "apple", preserve = TRUE )#> [1] apple banana cantaloupe d #> Levels: cantaloupe banana apple dgrep_case_fct( c("caterpillar", "dogwood", "catastrophe", "dogma"), "cat" ~ "feline", "dog" ~ "canine" )#> [1] feline canine feline canine #> Levels: feline canine#> [1] apple banana cantaloupe #> Levels: cantaloupe banana apple