2016-06-02 3 views
2

Je travaille sur un ensemble de données qui a 20.000 variables. Ces variables sont mesurées en utilisant la même mesure d'unité, mais comme il s'agit d'un très grand nombre, j'ai décidé de regrouper les variables pour obtenir des groupes de variables apparentées d'une façon ou d'une autre.Comment éviter le texte sur les dendrogrammes R et la limitation du nombre de groupes

je décide qu'une bonne option appliquait classification hiérarchique, et j'utilisé le code suivant (en supposant que D est la trame de données):

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

Le dendrogramme I obtenu est le suivant: enter image description here

Comme vous pouvez le voir, le nom des variables rend très difficile l'affichage de quelque chose d'utile ici, mais je ne sais pas comment faire pour que R n'affiche pas les noms des variables sur le dendogramme. J'ai aussi une autre question: J'ai utilisé l'ordre "cutree" pour construire le gropus, mais comme découvert, cet ordre a une limite, et ne peut construire que 150 gropus. Y a-t-il un autre moyen de construire les groupes sans cette limitation?

Merci beaucoup

PD: Toute autre suggestion sur la façon de regrouper cet ensemble de données fou sera le message qui arrive

+0

Explorez la fonctionnalité 'ape :: plot.phylo()' pour afficher votre dendrogramme sans étiquettes. Certaines options sont [ici] (http://stackoverflow.com/questions/37563747/equally-spaced-out-lengths-in-dendrograms/37565014#37565014). – nya

Répondre

2

Voulez-vous dire la suppression de cas étiquettes plutôt que des étiquettes variables? Si oui, utilisez as.dendrogram avec l'argument leaflab

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

Je ne pense pas qu'il y ait une limite pour k cutree. Vous pouvez essayer le package flashClust, qui fonctionne mieux avec les grands ensembles de données pour le clustering hiérarchique.

+0

Je viens de remarquer que vous utilisez 'groups <- cutree (fit, k = 150)', mais vous appelez en fait votre objet de cluster 'clust1'. Cela pourrait-il être la source de l'erreur? – jkt