This function is a vectorized version of switch(), that is, for each element of input vector, switch() is evaluated and the results are combined.

vmap(EXPR, ..., SIMPLIFY = TRUE)

Arguments

EXPR

an expression evaluated to be character or numeric vector/list.

...

The list of alternatives for each switch().

SIMPLIFY

TRUE to simplify the resulted list to vector, matrix or array if possible.

See also

Examples

x <- c("normal","normal","error","unknown","unknown")
vmap(x, normal = 0, error = -1, unknown = -2)
#> [1]  0  0 -1 -2 -2

x <- c(1,1,2,1,2,2,1,1,2)
vmap(x, "type-A", "type-B")
#> [1] "type-A" "type-A" "type-B" "type-A" "type-B" "type-B" "type-A" "type-A"
#> [9] "type-B"