readr (version 1.1.1)

parse_factor: Parse factors

Description

parse_factor is similar to factor(), but will generate warnings if elements of x are not found in levels.

Usage

parse_factor(x, levels, ordered = FALSE, na = c("", "NA"),
  locale = default_locale(), include_na = TRUE)

col_factor(levels, ordered = FALSE, include_na = FALSE)

Arguments

x

Character vector of values to parse.

levels

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 x.

ordered

Is it an ordered factor?

na

Character vector of strings to use for missing values. Set this option to character() to indicate no missing values.

locale

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.

include_na

If NA are present, include as an explicit factor to level?

See Also

Other parsers: col_skip, parse_datetime, parse_guess, parse_logical, parse_number

Examples

Run this code
# NOT RUN {
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)
# }

Run the code above in your browser using DataCamp Workspace