unique {base} | R Documentation |
Extract Unique Elements
Description
unique
returns a vector, data frame or array like x
but with duplicate elements removed.
Usage
unique(x, incomparables = FALSE, ...)
unique.array(x, incomparables = FALSE, MARGIN = 1, ...)
Arguments
x |
an atomic vector or a data frame or an array. |
incomparables |
a vector of values that cannot be compared.
Currently, |
... |
arguments for particular methods. |
MARGIN |
the array margin to be held fixed: a single integer. |
Details
This is a generic function with methods for vectors, data frames and arrays (including matrices).
The array method calculates for each element of the dimension
specified by MARGIN
if the remaining dimensions are identical
to those for an earlier element (in row-major order). This would most
commonly be used to find unique rows (the default) or columns
(with MARGIN = 2
).
Value
An object of the same type of x
. but if
an element is equal to one with a smaller index, it is removed.
Dimensions of arrays are not dropped.
See Also
duplicated
which gives the indices of duplicated
elements.
Examples
unique(c(3:5, 11:8, 8 + 0:5))
length(unique(sample(100, 100, replace=TRUE)))
## approximately 100(1 - 1/e) = 63.21
my.unique <- function(x) x[!duplicated(x)]
for(i in 1:4)
{ x <- rpois(100, pi); stopifnot(unique(x) == my.unique(x)) }
data(iris)
unique(iris)
stopifnot(dim(unique(iris)) == c(149, 5))