Есть ли простой способ найти соответствующие векторные индексы при работе с grep
?
v=c(123,456,789,651)
pat=c(1,35,47,8)
id=grep(paste0(pat, collapse="|"), v)
v[id]
[1] 123 789 651
Я хотел бы сгенерировать:
pat_id
[1] 1 4 1
Так что pat[pat_id]
даст мне значения в pat
, которые соответствуют.
pat[pat_id]
[1] 1 8 1
match()
не может использоваться в этом случае, потому что строки должны быть идентичны, чтобы считаться совпадением.