Skip to content

Change order of levels

Keep the values of the levels the same, but change their order. These are particularly useful for models, tables, and visualisations.

fct_relevel()
Reorder factor levels by hand
fct_inorder() fct_infreq() fct_inseq()
Reorder factor levels by first appearance, frequency, or numeric order
fct_reorder() fct_reorder2() last2() first2()
Reorder factor levels by sorting along another variable
fct_shuffle()
Randomly permute factor levels
fct_rev()
Reverse order of factor levels
fct_shift()
Shift factor levels to left or right, wrapping around at end

Change value of levels

Change factor levels, while preserving order (as much as possible).

fct_anon()
Anonymise factor levels
fct_collapse()
Collapse factor levels into manually defined groups
fct_lump() fct_lump_min() fct_lump_prop() fct_lump_n() fct_lump_lowfreq()
Lump uncommon factor together levels into "other"
fct_other()
Manually replace levels with "other"
fct_recode()
Change factor levels by hand
fct_relabel()
Relabel factor levels with a function, collapsing as necessary

Add/remove levels

Leave existing data as is, but add or remove levels.

fct_expand()
Add additional levels to a factor
fct_drop()
Drop unused levels
fct_na_value_to_level() fct_na_level_to_value()
Convert between NA values and NA levels
fct_unify()
Unify the levels in a list of factors

Combine multiple factors

fct_c()
Concatenate factors, combining levels
fct_cross()
Combine levels from two or more factors to create a new factor

Other helpers

fct()
Create a factor
as_factor()
Convert input to a factor
fct_count()
Count entries in a factor
fct_match()
Test for presence of levels in a factor
fct_unique()
Unique values of a factor, as a factor
lvls_reorder() lvls_revalue() lvls_expand()
Low-level functions for manipulating levels
lvls_union()
Find all levels in a list of factors

Data

gss_cat
A sample of categorical variables from the General Social survey