R中向量中各处重复项的索引

index of duplicates everywhere in a vector in R

我知道我可以在 R 中使用 duplicated 获取重复项的索引。但我想知道如何获取整个向量中重复项的所有实例的索引?

作为一个简单的例子,如果1, 7是重复的,如何在整个向量中获取这些值的索引?

a = c(1, 7, 5, 7, 4, 1)

duplicated(a)

期望的输出:

c(T, T, F, T, F, T)

你可以这样做:

duplicated(a) | duplicated(a, fromLast = TRUE)

[1]  TRUE  TRUE FALSE  TRUE FALSE  TRUE

选项table

(table(a) > 1)[as.character(a)]

或使用ave

ave(a, a, FUN = length) > 1