2017-08-21 3 views
0

Ich versuche, mein Dendrogramm mit den angegebenen Rownames aus meinem Datensatz zu beschriften.Beschriftung von Zeilennamen als Blattknoten Dendrogrammnamen in R

Ich verwende das Paket: hybridHclust mit dem folgenden Code.

Beispieltabelle (DATASET, ich hoffe, dass ich das richtige Format verwende)

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 

Jetzt habe ich die UID-Säule entfernt, die für die origianl Blatt benötigt wird, zeichnen sich aber nicht für die Clusteranalyse:

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 

Nun ist die Tabelle ist

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

Und die Zeilennummer Bezeichnungen (1, 2, 3) sind in R Studio gegangen und durch die aufgeführten Bedingungen ersetzt worden.

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 Als ich das laufen bekomme ich die Zeilennummern wie die Etiketten auf meinem Dendrogram, aber ich brauche die Row Namen (Conition1, Condition2, Bedingung3) und sie müssen ihre jeweiligen Daten entsprechen (sollte nicht nur in numerischer Reihenfolge sein). Das ist vielleicht nicht so schlimm, aber mein tatsächlicher Datensatz hat mehr als 400 Bedingungen, die verglichen werden, mit jeweils mehr als 4000 Variablen, und die Liste wird weiter wachsen, daher ist die manuelle Eingabe der Namen nicht möglich.

Vielen Dank und ich begrüße Feedback auf Formatierungsprobleme beim Posten auf dieser Website.

Antwort

1

Sie könnten die Etiketten (Namen) von DATASETClust ändern (ein Objekt der Klasse Dendrogramm) das Paket dendextend verwenden.

Siehe ein Anwendungsbeispiel here

Verwandte Themen