lvls_reorder leaves values as they are, but changes the order. lvls_revalue changes the values of existing levels; there must be one new level for each old level. lvls_expand expands the set of levels; the new levels must include the old levels.

lvls_reorder(f, idx, ordered = NA)

lvls_revalue(f, new_levels)

lvls_expand(f, new_levels)

## Arguments

f A factor (or character vector). A integer index, with one integer for each existing level. A logical which determines the "ordered" status of the output factor. NA preserves the existing status of the factor. A character vector of new levels.

## Details

These functions are less helpful than the higher-level fct_ functions, but are safer than the very low-level manipulation of levels directly, because they are more specific, and hence can more carefully check their arguments.

## Examples

f <- factor(c("a", "b", "c"))
lvls_reorder(f, 3:1)
#> [1] a b c
#> Levels: c b alvls_revalue(f, c("apple", "banana", "carrot"))
#> [1] apple  banana carrot
#> Levels: apple banana carrotlvls_expand(f, c("a", "b", "c", "d"))
#> [1] a b c
#> Levels: a b c d