Я хотел бы создать групповые переменные, основанные на том, насколько подобен выбор имен. Я начал с использования пакета stringdist, чтобы создать меру расстояния. Но я не уверен, как использовать эту выходную информацию для генерации группы по переменной. Я посмотрел на hclust, но, похоже, для использования функций кластеризации вам нужно знать, сколько групп вам нужно в конце, и я этого не знаю. Код я начинаю с ниже:Как создать группы похожих имен звучания в R?
name_list <- c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_dist <- stringdistmatrix(name_list)
name_dist
name_dist2 <- stringdistmatrix(name_list, method="soundex")
name_dist2
Я хотел бы видеть dataframe с двумя колонками, которые выглядят как
name = c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_group = c(1, 1, 1, 2, 2, 2, 3, 3, 4)
Группы могут незначительно отличаться в зависимости, очевидно, на то, что мера расстояния я использую (Я предложил два выше), но я бы выбрал один или другой для запуска.
В принципе, как мне получить от матрицы расстояния до групповой переменной, не зная количества скоплений, которые мне бы хотелось?
Этот вопрос, вероятно, слишком широк, но [это] (https://en.wikipedia.org/wiki/Soundex) может дать вам некоторые идеи, чтобы начать работу с. – joran
... действительно, некоторые простые Googling приводят к пакет ** ** stringdist **, который может быть полезен. – joran
Действительно - я, должно быть, только что вставил часть своего кода. Stringdistmatrix - это функция в пакете stringdist, которая генерирует расстояния между элементами. После этого у меня возникли проблемы с кластеризацией на расстоянии, но я думаю, что Хак ниже показал отличный пример, с которым я могу работать. – Kath05