dendrogram

___ tag123r ___ R ist eine freie, quelloffene Programmiersprache und Softwareumgebung für statistische Berechnungen, Bioinformatik, Visualisierung und allgemeine Datenverarbeitung. Stellen Sie minimale, reproduzierbare, repräsentative Beispiele für Ihre Fragen bereit. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basis-Pakete mit Bibliotheksaufrufen an. Bilder für Daten oder Code nicht einbetten, eingerückte Codeblöcke verwenden. Verwenden Sie für statistische Fragen http://stats.stackexchange.com. ___ qstnhdr ___ Wie kann ich Kanten färben oder in einem R-Dendrogramm korrekt zeichnen? ___ tag123edge ___ Kantenerkennung im Bildfortschritt usw. - Verwenden Sie für den Microsoft Edge-Browser das [Microsoft-Edge] -Tag. ___ tag123Dendrogramm ___ Ein Dendrogramm (oder Baumdiagramm) ist ein Diagramm zur Darstellung von Beziehungen in hierarchischen Clustern. ___ tag123hclust ___ R-Funktion aus Paket {stats} - hierarchische Cluster-Analyse für eine Reihe von Unähnlichkeiten und Methoden zu deren Analyse. ___ answer732550 ___

Sie haben also ungefähr fünf Fragen gestellt (5 +/- 3). Soweit Sie Ihre eigene Funktion rect.hclust schreiben, befindet sich die Quelle in %code% , wenn Sie sie betrachten möchten.

Ich habe selbst einen kurzen Blick darauf geworfen und bin nicht sicher, ob es das tut, was ich beim Lesen Ihrer Beschreibung dachte - es scheint, mehrere Rechtecke zu zeichnen, auch der %code% Selektor scheint hart codiert zu sein, um die Tags horizontal zu trennen (was nicht das ist, was Sie wollen und es gibt kein %code% ).

Ich komme zurück, aber in der Zwischenzeit könntest du (zusätzlich zur Quelle) versuchen, mehrere rect.hclust mit verschiedenen %code% -Farben und verschiedenen %code% -Werten zu machen, um zu sehen, ob ein Fehlermuster auftaucht.

Aktualisieren

Ich hatte auch nicht viel Glück dabei.

Ein möglicher Trick für das Clipping wäre, die Beschriftungen mit abschließenden Leerstellen zu füllen und dann die Kante Ihres Rechtecks ​​leicht einzubringen (die Idee wäre, dass das Rechteck nur aus der Beschneidungszone kommt, aber die Enden überschrieben werden der Etiketten).

Eine andere Idee wäre, das Rechteck mit einer transluzenten (niedrige Alpha) Farbe zu füllen, die einen schattierten Bereich statt einer Begrenzungsbox bildet.

    
___ qstntxt ___

Ich habe dieses Dendrogramm mit den Funktionen %code% , %code% und %code% von R generiert.

Ich habe die Funktion %code% und eine lokale Funktion verwendet, um Blätter zu färben, was gut funktioniert.

Ich habe Ergebnisse aus einem statistischen Test, die anzeigen, ob eine Menge von Knoten ( zB der Cluster von " %code% " und " %code% " in der unteren rechten Ecke des Baumes) sind wichtig oder wichtig.

Ich habe auch eine lokale Funktion, die ich mit %code% verwenden kann, die den exakten Knoten in meinem Dendrogramm findet, der signifikante Blätter enthält.

Ich möchte entweder (dem Beispiel folgend):

  1. Färben Sie die Kanten, die " %code% " und " %code% " verbinden; oder,
  2. Zeichnen Sie ein %code% um " %code% " und " %code% "

Ich habe die folgende lokale Funktion (die Details der Bedingung "nodes-in-leafList-match-nodes-in-clusterList" sind nicht wichtig, heben aber signifikante Knoten hervor):

%Vor%

In diesem %code% -Block habe ich versucht, %code% aufzurufen, aber das hat nicht funktioniert:

%Vor%

In meinem idealen Beispiel wären die Kanten, die " %code% " und " %code% " verbinden, gestrichelt und von roter Farbe.

Ich habe auch versucht, %code% in diesem %code% Block zu verwenden:

%Vor%

Aber das Ergebnis funktioniert nicht mit horizontalen Dendrogrammen ( d. d. Dendrogramme mit horizontalen Etiketten). Hier ist ein Beispiel (beachten Sie den roten Streifen in der unteren rechten Ecke). Irgendetwas stimmt nicht mit den Dimensionen von %code% , und ich weiß nicht, wie es funktioniert, um meine eigene Version schreiben zu können.

Ich freue mich, wenn Sie %code% oder %code% richtig arbeiten lassen oder mein eigenes %code% -Äquivalent schreiben können.

AKTUALISIEREN

Nachdem ich diese Frage gestellt habe, habe ich %code% verwendet, um den Funktionscode zu erhalten, der die Parameter berechnet und das Objekt %code% zeichnet. Ich schrieb eine benutzerdefinierte Version dieser Funktion, um horizontale und vertikale Blätter zu behandeln, und rufe sie mit %code% auf.

Es gibt jedoch einen Clipping-Effekt, der einen Teil von %code% entfernt. Bei horizontalen Blättern (Blätter, die auf der rechten Seite des Baums gezeichnet sind) verschwindet die rechte Kante von %code% oder ist dünner als die Rahmenbreite der anderen drei Seiten von %code% . Bei vertikalen Blättern (Blätter, die auf der Unterseite des Baums gezeichnet sind) leidet die unterste Kante von %code% unter dem gleichen Anzeigeproblem.

Was ich getan habe, um signifikante Cluster zu markieren, ist, die Breite von %code% so zu reduzieren, dass ich einen vertikalen roten Streifen zwischen den Spitzen der Clusterränder und den (horizontalen) Blattetiketten rendere.

Dies beseitigt das Clipping-Problem, bringt aber ein weiteres Problem mit sich, da der Abstand zwischen den Spitzen der Cluster-Kanten und den Blattetiketten nur sechs oder mehr Pixel breit ist, über die ich nicht viel Kontrolle habe. Dies begrenzt die Breite des vertikalen Streifens.

Das schlimmere Problem ist, dass die %code% -Koordinate, die angibt, wo der vertikale Streifen zwischen den beiden Elementen passen kann, sich auf der Breite des größeren Baums ( %code% ) ändert, was wiederum davon abhängt, wie der Baum ist Hierarchie wird am Ende strukturiert.

Ich schrieb eine "Korrektur" oder, besser gesagt, einen Hack, um diesen %code% Wert und die %code% Breite für horizontale Bäume anzupassen. Es funktioniert nicht immer gleich, aber für die Bäume, die ich mache, scheint es zu vermeiden, zu nah an (oder überlappende) Kanten und Beschriftungen zu kommen.

Letztlich wäre eine bessere Lösung, herauszufinden, wie %code% gezeichnet wird, so dass kein Clipping auftritt. Oder eine konsistente Methode zur Berechnung der spezifischen %code% -Position zwischen Baumkanten und Beschriftungen für einen bestimmten Baum, um den Streifen richtig zu zentrieren und zu dimensionieren.

Ich wäre auch sehr an einer Methode interessiert, Kanten mit Farben oder Linienstilen zu kommentieren.

    
___
1
Antwort

Baum / Dendrogramm mit Winkelstücken in d3

Ich bin sehr neu bei d3.js (und SVG im Allgemeinen), und ich möchte etwas Einfaches tun: ein Baum / Dendrogramm mit gewinkelten Konnektoren. Ich habe das d3-Beispiel von hier aus kannibalisiert: Ссылка und ich möchte es mehr wie die protovi...
20.04.2012, 14:02
3
Antworten

Wie erstelle ich ein Dendrogramm mit farbigen Zweigen?

Ich möchte ein Dendrogramm in R erstellen, das farbige Zweige hat, wie unten gezeigt. Bisher habe ich folgende Befehle verwendet, um ein Standard-Dendrogramm zu erstellen: %Vor% Wie soll ich diesen Code ändern, um das gewünschte Ergebnis...
03.08.2013, 15:53
1
Antwort

Plotten des Dendrogramms in Scipy-Fehler für große Datenmengen

Ich verwende Scipy für hierarchisches Clustering. Mit ffcluster gelingt es mir, flache Cluster auf einer Schwelle zu bekommen. Aber ich muss das gebildete Dendrogramm visualisieren. Wenn ich das Dendrogramm-Verfahren verwende, funktioniert es gu...
18.04.2012, 06:42
3
Antworten

Wie erstelle ich einen radialen Cluster wie das folgende Code-Beispiel in Python?

Ich habe mehrere Beispiele dafür gefunden, wie diese exakten Hierarchien erstellt werden (zumindest glaube ich, dass sie das sind) wie folgt: stackoverflow.com/questions/2982929/ die gut funktionieren, und fast das, was ich suche. [EDIT] Hi...
23.02.2011, 09:28
3
Antworten

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

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 (...
10.06.2014, 11:55
2
Antworten

Duell-Dendrogramme in r (Dendrogramme in R rücken)

Gibt es eine ziemlich direkte Möglichkeit, zwei Dendrogramme in 'r' zu plazieren? Die beiden Dendrogramme enthalten die gleichen Objekte, sind jedoch auf unterschiedliche Weise geclustert. Ich muss betonen, wie sich die Dendrogramme unterscheide...
17.09.2012, 09:46
3
Antworten

Zeichne Dendrogramm in Python manuell

Ich habe einen Algorithmus implementiert, um das Problem der Clusterbildung in einem Graphen zu lösen. Ich habe die Python-Bibliothek "python-graph" verwendet, um das Diagramm darzustellen. Jetzt muss ich bei jedem Schritt meiner Berechnung (der...
26.06.2011, 13:57
1
Antwort

Wie kann ich Kanten färben oder in einem R-Dendrogramm korrekt zeichnen?

Ich habe dieses Dendrogramm mit den Funktionen hclust() , as.dendrogram() und plot.dendrogram() von R generiert. Ich habe die Funktion dendrapply() und eine lokale Funktion verwendet, um Blätter zu färben, was gut funktioniert....
04.04.2009, 20:21