2012-05-12 6 views
8

Welches Paket eignet sich am besten für eine Heatmap/Bild mit Sortierung nur in Zeilen, aber kein Dendrogramm oder andere visuelle Unordnung (nur ein 2D-Farbraster mit automatisch benannten Etiketten auf beiden Achsen). Ich brauche kein fantastisches Clustering jenseits der grundlegenden numerischen Sortierung. Die Daten sind eine 39x10 numerische Tabelle im Bereich (0,0.21), die ich visualisieren möchte.R: Welche Heatmap/Bild, um Reihen-sortierte Handlung ohne irgendein Dendrogram zu erhalten?

Ich suchte SO (siehe) und die R-Sites und versuchte ein paar aus. Schauen Sie sich R Graphical Manual an, um eine exzellente Liste von Screenshots und entsprechenden Paketen zu sehen.

Die Palette der Pakete ist verwirrend - welche ist die bevorzugte Heatmap (wie ggplot2 ist für die meisten anderen Plotten)? Hier ist, was fand ich heraus, so weit:

base::heatmap ärgerlich ist, auch mit args heatmap(..., Colv=NA, keep.dendro=FALSE) es zeichnet nach wie vor die unerwünschte dendrogram auf Zeilen.

Denn jetzt werde ich mit pheatmap(..., cluster_cols=FALSE, cluster_rows=FALSE) und meine Tabelle manuell Vorsortierung, wie dieser Kerl: Order of rows in heatmap?

Nachtrag: den Wert in jeder Zelle angezeigt wird, finden Sie unter: display a matrix, including the values, as a heatmap. Ich brauchte das nicht, aber es ist nett zu haben.

+0

ich verwenden kann, bin mir nicht ganz sicher, was du fragst. Fragen Sie, wie man eine Heatmap in ggplot erstellt? Wenn ja, müssen Sie 'geom_tile()' verwenden – Andrie

+0

@Andrie: Ich frage nur, welches Paket Sie alle empfehlen (wie bekomme ich Sortierung ohne Clustering und keine Dendrogramme?). Ich dachte nicht, * ggplot2 * könnte Heatmaps machen, aber nachdem du geom_tile erwähnt hast, fand ich das [learr article] (http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/) . – smci

+0

Wenn Sie nur sortieren möchten, warum nicht 'sort()' verwenden? – Andrie

Antwort

6

Mit pheatmap sagen Sie Optionen treeheight_row und treeheight_col und setzen diese auf 0

1

nur eine weitere Option, die Sie nicht erwähnt haben ... Paket bipartite wie es so einfach ist, wie Sie

library(bipartite) 
mat<-matrix(c(1,2,3,1,2,3,1,2,3),byrow=TRUE,nrow=3) 
rownames(mat)<-c("a","b","c") 
colnames(mat)<-c("a","b","c") 
visweb(mat,type="nested") 
+0

Hier sind Screenshots von [bipartite: visweb] (http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=bipartite:visweb). Sieht gut aus, nicht sicher, wie man die zusätzlichen Etikettieroptionen aus ihrem biologischen Zweck wiederverwenden kann. – smci

Verwandte Themen