Как вернуть индекс некоторых повторяющихся строк в символьном векторе, игнорируя индекс первого появления повторяющейся строки? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть вектор строк, и я хочу вернуть индекс дублированных значений, за исключением индекса первого вхождения дублированного значения, учитывая другой вектор с совпадениями. Например:

x <- c("a", "b", "c", "b", "a", "a", "c", "c")
matching_values <- c("a", "b")

Поэтому я хотел бы получить целочисленный вектор с индексами 4, 5, 6. Поэтому первый дубликат a находится в позиции 5, а второй дубликат в позиции 6 Первый дубликат для b встречается с индексом 4, и поскольку я не указал совпадение с c, индекс не будет возвращен. Спасибо!

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Вы можете использовать:

which(duplicated(x) & x %in% matching_values)
#[1] 4 5 6
0 голосов
/ 27 апреля 2020

Мы можем использовать duplicated с %in%

which(x %in% matching_values & duplicated(x))
#[1] 4 5 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...