Один базовый подход R может быть разделить строку на запятую.Используя Map
, найдите пересекающиеся слова и создайте логическое значение, если есть хотя бы одно значение, которое пересекается.
df$match <- lengths(Map(intersect, strsplit(df$old_tags, ", "),
strsplit(df$new_tags, ", "))) > 0
df
# old_tags new_tags match
#1 burger burger, american TRUE
#2 italian, pizza italian TRUE
#3 latin, peruvian peruvian, latin TRUE
#4 french pizza FALSE
data
df <- structure(list(old_tags = c("burger", "italian, pizza", "latin, peruvian",
"french"), new_tags = c("burger, american", "italian", "peruvian, latin",
"pizza")), row.names = c(NA, -4L), class = "data.frame")