Я пытаюсь провести иерархический агломерационный кластерный анализ в R
с помощью пакета Weighted Cluster
. Перед этим я рассчитал расстояния между последовательностями состояний, используя пакет TraMineR
(см. Стр. 4-6 здесь ).
Следуя приведенной выше виньетке, я вставил свою матрицу расстояний в hclust
, добавив вектор весов следующим образом ( datadist - это матрица расстояний; dataframe - этомой фрейм данных, содержащий данные временного ряда, и вес - это весовой коэффициент продольной съемки на всех волнах):
Cluster <- hclust(as.dist(datadist), method = "ward", members = dataframe$weight)
Затем, после достижения конкретного кластерного решения (четыре подгруппы), яиспользовал функцию cutree
, чтобы определить относительную частоту каждого кластера и назначить наблюдения:
subgroups <- cutree(Cluster, k = 4)
Однако я каким-то образом сгенерировал больше , чем четыре группы после выполнения кода выше (более 30, по факту). Когда я удалил вектор весов, я смог произвести частоты для четырех кластеров, но невзвешенные результаты были неоптимальными.
Если кто-нибудь может помочь мне понять, что происходит (и как я могу решить или решить проблему), это будет очень цениться.