Mapa de calor en R con la función heatmap

La función 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 cuadradra 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)

Función heatmap en R

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")

Mapa de calor en R

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))

Personalización del color del mapa de calor en R

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)))

Argumentos ColSideColors y RowSideColors de la función heatmap

Dendrogramas del mapa de calor

Remove the row dendrogram of the heat map

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)

Remove the column dendrogram of heatmap in R

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)

Remove the dendrograms of the heatmap function in R

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)
ggplot2

Elegant Graphics for Data Analysis

Comprar en Amazon
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar