I was solving related problem, selecting the elements of a vector based on a pattern. Lets say we have vector 'a' and we would like to find the occurrences of vector 'b'. Can be used in filtering data tables by a multiply search patterns.
a=c(1, 1, 27, 9, 0, 9, 6, 5, 7)
b=c(1, 9)
match(a, b)
[1] 1 1 NA 2 NA 2 NA NA NA
So match() it is not really useful here. Applying binary operator %in% is more convenient:
a %in% b
[1] TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE
a[a %in% b]
[1] 1 1 9 9
Actually from the match() help %in% is just a wrap around match() function:
"%in%" <- function(x, table) match(x, table, nomatch = 0) > 0