parse_factor is similar to
factor(), but will generate
warnings if elements of
x are not found in
parse_factor(x, levels, ordered = FALSE, na = c("", "NA"), locale = default_locale(), include_na = TRUE)
col_factor(levels, ordered = FALSE, include_na = FALSE)
- Character vector of values to parse.
- Character vector providing set of allowed levels. if
NULL, will generate levels based on the unique values of
x, ordered by order of appearance in
- Is it an ordered factor?
- Character vector of strings to use for missing values. Set this
character()to indicate no missing values.
- The locale controls defaults that vary from place to place.
The default locale is US-centric (like R), but you can use
locale()to create your own locale that controls things like the default time zone, encoding, decimal mark, big mark, and day/month names.
NAare present, include as an explicit factor to level?
parse_factor(c("a", "b"), letters) x <- c("cat", "dog", "caw") levels <- c("cat", "dog", "cow") # Base R factor() silently converts unknown levels to NA x1 <- factor(x, levels) # parse_factor generates a warning & problems x2 <- parse_factor(x, levels) # Using an argument of `NULL` will generate levels based on values of `x` x2 <- parse_factor(x, levels = NULL)