R: Count unique values in a vector

vec_count {vctrs} | R Documentation

## Count unique values in a vector

### Description

Count the number of unique values in a vector. `vec_count()` has two important differences to `table()`: it returns a data frame, and when given multiple inputs (as a data frame), it only counts combinations that appear in the input.

### Usage

    vec_count(x, sort = c("count", "key", "location", "none"))

### Arguments

`x` | A vector (including a data frame).
`sort` | One of "count", "key", "location", or "none". "count", the default, puts most frequent values at top "key", orders by the output key column (i.e. unique values of `x`) "location", orders by location where key first seen. This is useful if you want to match the counts up to other unique/duplicated functions. "none", leaves unordered.

### Value

A data frame with columns `key` (same type as `x`) and `count` (an integer vector).

### Dependencies

- `vec_proxy_equal()`

- `vec_slice()`

- `vec_order()`

### Examples

    vec_count(mtcars$vs)
    vec_count(iris$Species)

    # If you count a data frame you'll get a data frame
    # column in the output
    str(vec_count(mtcars[c("vs", "am")]))

    # Sorting ---------------------------------------

    x <- letters[rpois(100, 6)]
    # default is to sort by frequency
    vec_count(x)

    # by can sort by key
    vec_count(x, sort = "key")

    # or location of first value
    vec_count(x, sort = "location")
    head(x)

    # or not at all
    vec_count(x, sort = "none")

[Package vctrs version 0.3.2 Index]