R: Fast Unique Elements / Rows

funique {collapse} | R Documentation

## Fast Unique Elements / Rows

### Description

`funique` is a substantially faster alternative to `unique`. It is generic with a default vector and a data frame methods.

### Usage

    funique(x, ...)

    ## Default S3 method:
    funique(x, sort = FALSE, method = "auto", ...)

    ## S3 method for class 'data.frame'
    funique(x, cols = NULL, sort = FALSE, method = "auto", ...)

    ## S3 method for class 'sf'
    funique(x, cols = NULL, sort = FALSE, method = "auto", ...)

### Arguments

`x` | a atomic vector or data frame / list of equal-length columns.
`sort` | logical. `TRUE` orders the unique elements / rows. `FALSE` returns unique values in order of first occurrence.
`method` | an integer or character string specifying the method of computation:
Int. |  | String |  | Description
1 |  | "auto" |  | automatic selection: hash if `sort = FALSE` else radix.
2 |  | "radix" |  | use radix ordering to determine unique values. Supports `sort = FALSE` but only for character data.
3 |  | "hash" |  | use index hashing to determine unique values. Supports `sort = TRUE` but only for atomic vectors (default method).
`cols` | compute unique rows according to a subset of columns. Columns can be selected using column names, indices, a logical vector or a selector function (e.g. `is.character`). Note: All columns are returned.
`...` | arguments passed to `radixorderv`, e.g. `decreasing` or `na.last`. Only applicable if `method = "radix"`.

### Details

If `x` is a data frame / list and all rows are already unique, then `x` is returned. Otherwise a copy of `x` with duplicate rows removed is returned. See `group` for some additional computational details.

The sf method simply ignores the geometry column when determining unique values.

### Value

`x` with duplicate elements/rows removed.

### See Also

`group`, Fast Grouping and Ordering, Collapse Overview.

### Examples

    funique(mtcars$cyl)
    funique(gv(mtcars, c(2,8,9)))
    funique(mtcars, cols = c(2,8,9))

[Package collapse version 1.7.6 Index]