Wie man Cluster mit hememap.2 in r auf die Diagonale bringt?

9

Ich versuche, ein Protein-DNA-Interaktions-Dataset zu clustern und eine Heatmap mit heatmap.2 aus dem R-Paket gplots zu zeichnen. Hier ist der vollständige Prozess, den ich befolge, um diese Graphen zu erzeugen: Generiere eine Entfernungsmatrix mit einer Korrelation, in meinem Fall Pearson.

%Vor%

Ich kann dies mit der normalen Heatmap-Funktion erreichen, indem ich Folgendes tue:

%Vor%

Wenn ich jedoch die gleichen Einstellungen für Heatmap.2 verwende, sind die Cluster nicht so gut auf der Diagonale angeordnet. Ich habe 2 Bilder beigefügt das erste Bild verwendet Heatmap und das zweite Bild verwendet heatmap.2. Ich habe die rote Farbe aus dem Paket RColorBrewer verwendet, um besser zu zeigen, was ich mache. Ich würde normalerweise nur die Standard-Heatmap-Funktion verwenden, aber ich brauche die Farbvariation, die heatmap.2 bietet.

Hier ist eine Liste zu dem Datensatz, der zum Erzeugen der Heatmaps verwendet wurde, nachdem er in eine Abstandsmatrix umgewandelt wurde: DataSet

    
Alos 21.09.2012, 13:30
quelle

1 Antwort

4

Es ist, als ob zwei der Argumente widersprüchlich sind. Colv=T sagt, um die Spalten nach Cluster zu sortieren, und symm=T sagt, dass die Spalten die gleichen wie die Zeilen haben sollen. Natürlich können beide Constraints erfüllt werden, da die Daten symmetrisch sind, aber Colv=T gewinnt und Sie erhalten zwei unabhängige Cluster-Ordnungen, die zufällig anders sind.

Wenn Sie auf eine redundante Kopie des Dendrogramms verzichten, erhalten Sie im Folgenden mindestens die gewünschte Heatmap:

%Vor%

    
xan 26.09.2012, 00:45
quelle