2012-05-12 25 views
8

Qué paquete es mejor para un mapa de calor con ordenación en filas solamente, pero no muestra ningún dendrograma u otro desorden visual (solo una cuadrícula de 2 colores con etiquetas automáticas con nombre en ambos ejes). No necesito una agrupación sofisticada más allá de la clasificación numérica básica. Los datos son una tabla numérica de 39x10 en el rango (0,0,21) que quiero visualizar.R: ¿Qué mapa de calor/imagen para obtener un gráfico ordenado por filas sin dendrograma?

Busqué SO (ver this) y los sitios R, y probé algunos. Consulte R Graphical Manual para ver una excelente lista de búsqueda de capturas de pantalla y paquetes correspondientes.

El rango de paquetes es confuso: ¿cuál es el mapa de calor preferido (como ggplot2 es para la mayoría de los demás trazado)? Esto es lo que he encontrado hasta ahora:

base::heatmap es molesto, incluso con argumentos heatmap(..., Colv=NA, keep.dendro=FALSE) todavía traza el dendrograma no deseado en filas.

Por ahora voy con pheatmap(..., cluster_cols=FALSE, cluster_rows=FALSE) y clasificación previa manualmente mi mesa, como este tipo: Order of rows in heatmap?

Adición: para visualizar el valor dentro de cada célula, véase: display a matrix, including the values, as a heatmap. No lo necesitaba, pero es agradable de tener.

+0

I No estoy del todo seguro de lo que estás preguntando. ¿Estás preguntando cómo hacer un mapa de calor en ggplot? Si es así, necesitas usar 'geom_tile()' – Andrie

+0

@Andrie: solo estoy preguntando qué paquete recomiendas (¿cómo puedo ordenar sin clustering? Y sin dendrogramas?). No creía que * ggplot2 * pudiera hacer heatmaps, pero después de mencionar geom_tile encontré ese [artículo del aprendiz] (http://learnr.wordpress.com/2010/01/26/ggplot2-quick-heatmap-plotting/) . – smci

+0

Si solo desea ordenar, ¿por qué no utilizar 'sort()'? – Andrie

Respuesta

6

Con pheatmap puede utilizar las opciones treeheight_row y treeheight_col y fijar éstos a 0.

1

sólo otra opción que no ha mencionado ... bipartite paquete, ya que es tan simple como usted 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

Aquí hay capturas de pantalla de [bipartita: visweb] (http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=bipartite:visweb). Se ve bien, no estoy seguro de cómo reutilizar las opciones de etiquetado adicionales de su propósito biológico. – smci

Cuestiones relacionadas