`vec_unique()`

: the unique values. Equivalent to`unique()`

.`vec_unique_loc()`

: the locations of the unique values.`vec_unique_count()`

: the number of unique values.

vec_unique(x) vec_unique_loc(x) vec_unique_count(x)

x | A vector (including a data frame). |
---|

`vec_unique()`

: a vector the same type as`x`

containining only unique values.`vec_unique_loc()`

: an integer vector, giving locations of unique values.`vec_unique_count()`

: an integer vector of length 1, giving the number of unique values.

In most cases, missing values are not considered to be equal, i.e.
`NA == NA`

is not `TRUE`

. This behaviour would be unappealing here,
so these functions consider all `NAs`

to be equal. (Similarly,
all `NaN`

are also considered to be equal.)

These functions are currently slightly slower than their base equivalents. This is primarily because they do a little more checking and coercion in R, which makes them both a little safer and more generic. Additionally, the C code underlying vctrs has not yet been implemented: we expect some performance improvements when that happens.

vec_duplicate for functions that work with the dual of unique values: duplicated values.

#> [1] 9 5 12 3 6 11 10 8 7 14 16 2 13 4 19 15vec_unique_loc(x)#> [1] 1 2 3 4 6 8 11 13 14 19 24 31 32 40 58 74vec_unique_count(x)#> [1] 16# `vec_unique()` returns values in the order that encounters them # use sort = "location" to match to the result of `vec_count()` head(vec_unique(x))#> [1] 9 5 12 3 6 11#> key count #> 1 9 14 #> 2 5 6 #> 3 12 5 #> 4 3 4 #> 5 6 15 #> 6 11 12# Normally missing values are not considered to be equal NA == NA#> [1] NA#> [1] NA 1 2