R: Convert input to a factor.

as_factor {haven} | R Documentation

## Convert input to a factor.

### Description

The base function `as.factor()` is not a generic, but this variant is. Methods are provided for factors, character vectors, labelled vectors, and data frames. By default, when applied to a data frame, it only affects `labelled` columns.

### Usage

    as_factor(x, ...)

    ## S3 method for class 'factor'
    as_factor(x, ...)

    ## S3 method for class 'character'
    as_factor(x, ...)

    ## S3 method for class 'data.frame'
    as_factor(x, ..., only_labelled = TRUE)

    ## S3 method for class 'labelled'
    as_factor(x, levels = c("default", "labels", "values",
      "both"), ordered = FALSE, ...)

### Arguments

`x` | Object to coerce to a factor.
`...` | Other arguments passed down to method.
`only_labelled` | Only apply to labelled columns?
`levels` | How to create the levels of the generated factor: "default": uses labels where available, otherwise the values. Labels are sorted by value. "both": like "default", but pastes together the level and value "label": use only the labels; unlabelled values become `NA` "values: use only the values
`ordered` | If `TRUE` create an ordered (ordinal) factor, if `FALSE` (the default) create a regular (nominal) factor.

### Examples

    x <- labelled(sample(5, 10, replace = TRUE), c(Bad = 1, Good = 5))

    # Default method uses values where available
    as_factor(x)
    # You can also extract just the labels
    as_factor(x, "labels")
    # Or just the values
    as_factor(x, "values")
    # Or combine value and label
    as_factor(x, "both")

[Package haven version 1.0.0 Index]