2017-08-21 8 views
0

Je tente d'étiqueter mon dendrogramme en utilisant les noms de fichier désignés de mon jeu de données. J'utilise le paquet: hybridHclust avec le code suivant.Étiquetage des noms de lignes sous forme de nœuds de feuille Noms de dendrogramme dans R

Tableau de l'échantillon (DATASET, je l'espère, j'utilise le format)

UID Condition1 Condition2 Condition3 
1 Gene1 0.46 0.47 -0.02 
2 Gene2 0.8 0.93 0.08 
3 Gene3 0.45 0.89 1.04 

DATASET_1 <- DATASET[,-1] # removes UID column which is not needed 
    Gene Condition1 Condition2 Condition3 

Maintenant, j'ai enlevé la colonne UID qui est nécessaire pour les origianl feuille Excel mais pas pour l'analyse de cluster:

Condition1 Condition2 Condition3 
1 0.46 0.47 -0.02 
2 0.8 0.93 0.08 
3 0.45 0.89 1.04 

DATASETMatrix <- as.matrix.data.frame(DATASET_2) # converts df to matrix 
DATASETMatrix_R <- t(DATASETMatrix) #flips along diagonal for clustering 

maintenant, la table est

   v1 v2 v3 
Condition1 0.46 0.8 0.45 
Condition2 0.47 0.93 0.89 
Condition3 -0.02 0.08 1.04 

Et les désignations de numéro de ligne (1, 2, 3) sont partis dans R studio et remplacés par les conditions énumérées.

DATASETClust <- as.dendrogram((eisenCluster(DATASETMatrix_R, method = "uncentered.correlation", 
             compatible = TRUE)), hang = -0.1) #uses uncentered Pearson correlation which is not present in hclust 

library(dendextend) 
DATASETClust %>% set("labels_cex", 0.25) %>% 
plot(horiz = T) # got his from somewhere online 

enter image description here Quand je lance ce que j'obtenir les numéros de ligne comme les étiquettes sur mon Dendrogramme, mais je dois les noms de ligne (Conition1, Condition2, Condition3) et ils doivent correspondre à leurs données respectives (ne devrait pas juste être dans l'ordre numérique). Ce n'est peut-être pas si grave, mais mon ensemble de données réel a plus de 400 conditions comparées, avec plus de 4000 variables chacune, et la liste continuera à croître, donc entrer les noms manuellement n'est pas réalisable.

Merci à tous et je vous remercie de nous faire part de tout problème de mise en forme lorsque vous publiez sur ce site.

Répondre

1

Vous pouvez changer les étiquettes (noms) de DATASETClust (un objet de dendrogramme de classe) en utilisant le package dendextend.

Voir un exemple d'utilisation here