Найти совпадающие строки между двумя векторами в R

У меня есть два вектора в R. Я хочу найти частичные совпадения между ними.

Мои данные

Первый из набора данных с именем muc, который содержит 6400 названий улиц. muc $ name выглядит так:

muc$name = c("Berberichweg", "Otto-Klemperer-Weg", "Feldmeierbogen" , "Altostraße",...)

Другой вектор - d_vector. Он содержит около 1400 имен.

d_vector = "Abel", "Abendroth", "von Abercron", "Abetz", "Abicht", "Abromeit", ...

Я хочу найти все названия улиц, которые содержат название из d_vector где-то в названии улицы.

Во-первых, я сделал некоторые общие изменения после импорта данных CSV (в качестве переменной d):

d_vector <- unlist(d$name) d_vector <- as.vector(as.matrix(d_vector))

Что я пробовал до сих порЗатем я попытался найти решение с помощью grep, превратив d_vector в одну длинную строку, разделенную символом | для RegEx-Search:

result <- unique(grep(paste(d_vector, collapse="|"), muc$Name, value=TRUE, ignore.case = TRUE)) result

Но результат возвращает все названия улиц.

Я также пытался использовать agrep, который перенастроилOut of memory-Ошибка.

Когда я пыталсяd_vector %in% muc$nameон вернул только одну TRUE и сотни FALSE, что кажется неправильным.

Есть ли у вас какие-либо предположения, где может быть моя ошибка или какую библиотеку я могу использовать? Я ищу что-то вроде "нечеткой" Python для R

Ответы на вопрос(2)

Ваш ответ на вопрос