2012-05-12 3 views
8

Quale pacchetto è migliore per una heatmap/immagine con l'ordinamento solo sulle righe, ma non mostrare alcun dendrogramma o altro ammasso visivo (solo una griglia colorata 2D con etichette con nome automatico su entrambi gli assi). Non ho bisogno di un cluster di fantasia oltre l'ordinamento numerico di base. I dati sono una tabella di numeri 39x10 nell'intervallo (0,0.21) che voglio visualizzare.R: Quale heatmap/immagine per ottenere una trama ordinata a riga senza alcun dendrogramma?

Ho cercato SO (vedi this) e i siti R, e ho provato alcuni fuori. Controlla R Graphical Manual per vedere un elenco ricercabile eccellente di schermate e pacchetti corrispondenti.

L'intervallo di pacchetti è confuso - quale è la heatmap preferita (come ggplot2 è per la maggior parte altri tracciamenti)? Ecco quello che ho scoperto finora:

base::heatmap è fastidioso, anche con args heatmap(..., Colv=NA, keep.dendro=FALSE) si trame ancora il dendrogramma indesiderato sulle righe.

per ora sto andando con pheatmap(..., cluster_cols=FALSE, cluster_rows=FALSE) e manualmente presorting mio tavolo, come questo ragazzo: Order of rows in heatmap?

Addendum: per visualizzare il valore all'interno di ogni cellula, vedi: display a matrix, including the values, as a heatmap. Non ne avevo bisogno, ma è bello avere.

+0

I non sono completamente sicuro di cosa stai chiedendo Stai chiedendo come creare una heatmap in ggplot? Se è così, è necessario usare 'geom_tile()' – Andrie

+0

@Andrie: Sto solo chiedendo quale pacchetto si consiglia (come ottengo l'ordinamento senza clustering e senza dendrogrammi?). Non pensavo che * ggplot2 * potesse fare heatmap, ma dopo aver menzionato geom_tile ho trovato questo [learnr article] (http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/) . – smci

+0

Se vuoi solo ordinare, perché non usare 'sort()'? – Andrie

risposta

6

Con pheatmap è possibile utilizzare le opzioni treeheight_row e treeheight_col e impostarli su 0.

1

solo un'altra opzione che non hai citato ... pacchetto bipartite in quanto è così semplice come si dice

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

Ecco gli screenshot di [bipartite: visweb] (http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=bipartite:visweb). Sembra bello, non so come riutilizzare le opzioni di etichettatura extra dal loro scopo biologico. – smci