duplicated() determines which elements of a vector or data frame are duplicates of elements with smaller subscripts, and returns a logical vector indicating which elements (rows) are duplicates. anyDuplicated(.) is a “generalized” more efficient shortcut for any(duplicated(.)).
duplicated(x, incomparables = FALSE, …)<p></p><p># S3 method for default
duplicated(x, incomparables = FALSE,
fromLast = FALSE, nmax = NA, …)</p><p># S3 method for array
duplicated(x, incomparables = FALSE, MARGIN = 1,
fromLast = FALSE, …)</p><p>anyDuplicated(x, incomparables = FALSE, …)
# S3 method for default
anyDuplicated(x, incomparables = FALSE,
fromLast = FALSE, …)
# S3 method for array
anyDuplicated(x, incomparables = FALSE,
MARGIN = 1, fromLast = FALSE, …)</p>
| Parameter | Description |
|---|---|
x |
a vector or a data frame or an array or NULL. |
incomparables |
a vector of values that cannot be compared. FALSE is a special value, meaning that all values can be compared, and may be the only value accepted for methods other than the default. It will be coerced internally to the same type as x. |
fromLast |
logical indicating if duplication should be considered from the reverse side, i.e., the last (or rightmost) of identical elements would correspond to duplicated = FALSE. |
nmax |
the maximum number of unique items expected (greater than one). |
… |
arguments for particular methods. |
MARGIN |
the array margin to be held fixed: see apply, and note that MARGIN = 0 may be useful. |
# NOT RUN {
x <- c(9:20, 1:5, 3:7, 0:8)
## extract unique elements
(xu <- x[!duplicated(x)])
## similar, same elements but different order:
(xu2 <- x[!duplicated(x, fromLast = TRUE)])
## xu == unique(x) but unique(x) is more efficient
stopifnot(identical(xu, unique(x)),
identical(xu2, unique(x, fromLast = TRUE)))
duplicated(iris)[140:143]
duplicated(iris3, MARGIN = c(1, 3))
anyDuplicated(iris) ## 143
# }
# NOT RUN {
anyDuplicated(x)
anyDuplicated(x, fromLast = TRUE)
# }