Factors store categorical variables (i.e. values based on labels) such as gender.

gender <- c("Male", "Female", "Female", "Male", "Female")
 
# Labels are called factor levels
# With "Male" and "Female", gender has 2 levels
gender.factor <- factor(gender)
 
# You can sort categorical values according to custom order
sizes <- c("XL", "L", "XL", "XXL", "L", "XL")
sizes.factor <- factor(sizes, ordered = TRUE, levels = c("L", "XL", "XXL"))