Другим подходом может быть
library(dplyr)
data.frame(Position) %>%
rowwise() %>%
mutate(Role = ifelse(any(unlist(lapply(equality_vector, function(x) grepl(x, Position)))),
equality_vector[unlist(lapply(equality_vector, function(x) grepl(x, Position)))],
NA)) %>%
data.frame() -> df
df
Вывод:
Position Role
1 Retired CEO CEO
2 COO/Board member COO
3 Operator <NA>
Пример данных:
equality_vector <- c("CEO", "COO", "CTO", "CDO", "CFO", "CTO", "CIO")
Position <- c("Retired CEO", "COO/Board member", "Operator")