Baumschnitt und Rechtecke um Cluster für ein horizontales Dendrogramm in R

8

Ich versuche, die Ergebnisse eines hierarchischen Clusters in R als Dendrogramm darzustellen, wobei Rechtecke Cluster identifizieren.

Der folgende Code macht den Trick für ein vertikales Dendrogramm, aber für ein horizontales Dendrogramm ( horiz=TRUE ) werden die Rechtecke nicht gezeichnet. Gibt es eine Möglichkeit, dies auch für horizontale Dendrogramme zu tun?

%Vor%

Außerdem möchte ich eine Linie zeichnen, um den Baum auf einen gewünschten Abstandswert zu schneiden. Wie zeichne ich das in R auf. Die Funktion cutree gibt die Cluster zurück, aber es ist auch möglich, sie zu plotten.

%Vor%

Die gewünschte Ausgabe, nach der ich suche, ist so.

Wie bekomme ich das in R?

    
Crops 10.06.2014, 11:55
quelle

3 Antworten

6

Sowohl jlhoward als auch Backlin sind gut.

Was Sie auch ausprobieren könnten, ist das dendextend -Paket, das genau für diese Art entworfen wurde der Sache. Es hat eine rect.dendrogram -Funktion, die wie rect.hclust funktioniert, aber mit einem horiz-Parameter (plus etwas mehr Kontrolle über die Position der Kante des Rect). Um die relevante Höhe zu finden, können Sie die Funktion heights_per_k.dendrogram verwenden (die viel schneller ist, wenn Sie auch die dendextendRcpp verwenden. Paket)

Hier ist ein einfaches Beispiel dafür, wie Sie das gleiche Ergebnis wie in den obigen Beispielen erhalten (mit einem zusätzlichen Bonus von farbigen Zweigen, nur zum Spaß):

%Vor%

    
Tal Galili 11.08.2014, 08:38
quelle
4

Um den Job einfach zu erledigen (obwohl auf ziemlich hässliche Weise), könnten Sie einfach die Koordinaten im Aufruf an rect in rect.hclust :

vertauschen %Vor%

und rufe rhc wie du rect.hclust aufgerufen hast:

auf %Vor%

    
Backlin 10.06.2014 12:33
quelle
3

Hier ist eine Lösung, die ggplot und das ggdendro -Paket verwendet. Als zusätzlichen Bonus können wir die Labels nach Cluster ...

färben

%Vor%     
jlhoward 10.06.2014 17:39
quelle