2016-06-02 4 views
2

Я работаю над набором данных, который имеет 20 000 переменных. Эти переменные измеряются с использованием одной и той же единицы измерения, но поскольку это очень большое число, я решил сгруппировать переменные, чтобы получить группы как-то связанных переменных.Как избежать текста на R дендограммы и ограничения на количество групп

я решил, что хороший вариант был применением иерархической кластеризации, и я использовал следующий код (предположим D является кадр данных):

d <- dist(D, method = "euclidean") 
clust1 <- hclust(d, method="ward.D") 
plot(clust1) 
groups <- cutree(fit, k=150) 

dendogram я получил следующий: enter image description here

Как вы можете видеть, имя переменных очень сложно увидеть что-то полезное здесь, но я действительно не знаю, как сделать так, чтобы R не отображал имена переменных на дендограмме.

У меня также есть другой вопрос: я использовал заказ «cutree» для создания gropus, но, как обнаружено, этот порядок имеет ограничение и может построить только 150 gropus. Есть ли другой способ построить группы без этого ограничения?

Большое спасибо

PD: Любые другие предложения о том, как группа этот сумасшедший набор данных будет хорошо принят

+0

Исследуйте функциональность 'ape :: plot.phylo()' для отображения вашей дендрограммы без меток. Некоторые параметры [здесь] (http://stackoverflow.com/questions/37563747/equally-spaced-out-lengths-in-dendrograms/37565014#37565014). – nya

ответ

2

ли вы имеете в виду подавление этикетками, а не метки переменных? Если да, то используйте as.dendrogram с leaflab аргументом

plot(as.dendrogram(clust1),leaflab='none') 

Я не думаю, что существует предел для к в cutree. Вы можете попробовать пакет flashClust, который лучше работает с большими наборами данных для иерархической кластеризации.

+0

Я только заметил, что вы используете 'groups <- cutree (fit, k = 150)', но на самом деле вы вызываете свой кластерный объект 'clust1'. Может ли это быть источником ошибки? – jkt