R: Parse factors

parse_factor {readr} | R Documentation

## 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

    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)

[Package readr version 1.1.1 Index]