heatmap
La función heatmap
permite crear un mapa de calor en R a partir de una matriz. En los siguientes ejemplos vamos a utilizar una matriz cuadrada pero ten en cuenta que el número de filas y de columnas no tiene por qué ser el mismo.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m)
Normalización de los datos
Los datos se normalizan por defecto por filas. Sin embargo, puede que necesites normalizarlos por columnas ("column"
) o que ninguna normalización se lleve a cabo ("none"
).
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m, scale = "column")
Personalización del color
Puedes pasar una paleta de colores al argumento col
de la función heatmap
. En el siguiente ejemplo estamos usando la paleta viridis haciendo uso de la función hcl.colors
.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila"!, 1:10)
heatmap(m, col = hcl.colors(50))
Color de los lados
Es posible pasar un vector de colores a los argumentos ColSideColors
y RowSideColors
para anotar las columnas y filas de la matriz, respectivamente.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m,
ColSideColors = rainbow(ncol(m)),
RowSideColors = rainbow(nrow(m)))
Eliminar el dendrograma de las filas
El argumento Rowv
controla si el dendrograma se debe computar y cómo debe hacerlo. Puedes pasar un dendrograma (dendrogram
) o un vector especificando el orden. Establecerlo en NA
borrará el dendrograma.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m, Rowv = NA)
Eliminar el dendrograma de las columnas
El argumento Colv
es equivalente a Rowv
pero para las columnas. Estáblécelo en NA
para eliminar el dendrograma.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m, Colv = NA)
Eliminar ambos dendrogramas
Estableciendo Rowv
y Colv
como NA
borrará ambos dendrogramas del mapa de calor y los datos no se reordenarán.
# Matriz
m <- matrix(rnorm(100), ncol = 10)
colnames(m) <- paste("Col.", 1:10)
rownames(m) <- paste("Fila", 1:10)
heatmap(m, Rowv = NA, Colv = NA)
También te puede interesar