Функция match
работает с векторами:
x <- sample(1:10)
x
# [1] 4 5 9 3 8 1 6 10 7 2
match(c(4,8),x)
# [1] 1 5
match
возвращает только первое совпадение матча, как вы и просили.Он возвращает позицию во втором аргументе значений в первом аргументе.
Для множественного соответствия, %in%
- это путь:
x <- sample(1:4,10,replace=TRUE)
x
# [1] 3 4 3 3 2 3 1 1 2 2
which(x %in% c(2,4))
# [1] 2 5 9 10
%in%
возвращает логическоеvector до первого аргумента: TRUE
, если это значение можно найти во втором аргументе, и FALSE
в противном случае.