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

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

Eliminar el dendrograma de las filas del mapa de calor en R

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 del mapa de calor en 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)

Eliminar los dendrogramas de la función heatmap en 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)

También te puede interesar