Неправильная дендрограмма в Matlab (по сравнению с R) - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь создать дендрограмму в Matlab, основываясь на матрице различий X. Я преобразовал ее в формат, который будет принимать связь, используя Y=squareform(X). Затем я получаю следующий вектор:

Y = [0 0 0 0 1.4476 0 0 0 0 0 0 0 0 0 1.7525 0 0 0 0 0 1.9634 11.3676 0 0 0 2.1579 14.4957 0 0 0 0 0 0 0 0 0]; 

Я попытался построить дендрограмму, используя полную связь:

dendrogram(linkage(Y,'complete'))

и получить следующий результат: dendrogram1

Однако, когда я использую матрицу различий X в R (также с полным методом связи: dend <- as.dendrogram(hclust(as.dist(X)))), я получаю совершенно другую дендрограмму: [dendrogram2][2]. Дендрограмма, созданная с помощью R имеет гораздо больше смысла с входными данными, чем с Matlab (так как это соответствует ожидаемой группировке используемых данных). Есть идеи, почему они такие разные? И есть ли способ воспроизвести R-дендрограмму в Matlab?

РЕДАКТИРОВАТЬ: матрица X:

     0         0         0         0         0    1.4476         0         0         0
     0         0         0         0         0         0         0         0    1.7525
     0         0         0         0         0         0         0         0    1.9634
     0         0         0         0   11.3676         0         0         0    2.1579
     0         0         0   11.3676         0   14.4957         0         0         0
1.4476         0         0         0   14.4957         0         0         0         0
     0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0
     0    1.7525    1.9634    2.1579         0         0         0         0         0

1 Ответ

0 голосов
/ 05 февраля 2020

Не берите в голову, я нашел ответ сейчас - если я использую функцию linkageold (найденную в скрипте для текущей функции linkage ), я получаю правильный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...