R: Index Vector of All Values Involved in Ties

AllDuplicated {DescTools} | R Documentation

## Index Vector of All Values Involved in Ties

### Description

The function `duplicated` returns a logical vector indicating which elements x are duplicates, but will not include the very first appearance of subsequently duplicated elements. `AllDuplicated` returns an index vector of ALL the values in `x` which are involved in ties.
So `!AllDuplicated` can be used to determine all elements of x, which appear exactly once (thus with frequency 1).

### Usage

    AllDuplicated(x)

### Arguments

`x` | vector of any type.

### Value

logical vector of the same dimension as x.

### Author(s)

Andri Signorell <andri@signorell.net>

### See Also

`unique` returns a unique list of all values in x
`duplicated` returns an index vector flagging all elements, which appeared more than once (leaving out the first appearance!)
`union`(A, B) returns a list with the unique values from A and B
`intersect` returns all elements which appear in A and in B
`setdiff`(A, B) returns all elements appearing in A but not in B
`setequal`(A, B) returns `TRUE` if A contains exactly the same elements as B
`split`(A, A) returns a list with all the tied values in A (see examples)

### Examples

    x <- c(1:10, 4:6)

    AllDuplicated(x)

    # compare to:
    duplicated(x)

    x[!AllDuplicated(x)]

    # union, intersect and friends...
    A <- c(sort(sample(1:20, 9)),NA)
    B <- c(sort(sample(3:23, 7)),NA)

    # all elements from A and B (no duplicates)
    union(A, B)
    # all elements appearing in A and in B
    intersect(A, B)
    # elements in A, but not in B
    setdiff(A, B)
    # elements in B, but not in A
    setdiff(B, A)
    # Does A contain the same elements as B?
    setequal(A, B)

    # Find ties in a vector x
    x <- sample(letters[1:10], 20, replace=TRUE)
    ties <- split(x, x)

    # count tied groups
    sum(sapply(ties, length) > 1)

    # length of tied groups
    (x <- sapply(ties, length))[x>1]

    # by means of table
    tab <- table(x)
    tab[tab>1]

    # count elements involved in ties
    sum(tab>1)
    # count tied groups
    sum(tab[tab>1])

[Package DescTools version 0.99.26 Index]