Crear mapa de calor en R (3 ejemplos) | Base R, ggplot2 y paquete plotly

Se el primero en calificar

En este post aprenderás a dibujar mapas de calor en el lenguaje de programación R.

El contenido del artículo se estructura de la siguiente manera:

Vamos a sumergirnos.

Construcción de datos de ejemplo

Usaremos la siguiente matriz para los ejemplos de este tutorial de R:

establecer _ seed ( 123 )                                                      # Establecer semilla para 
datos de reproducibilidad <- matrix ( rnorm ( 100 , 0 , 10 ) , nrow =  10 , ncol =  10 )            # Crear ejemplos de datos 
colnames ( datos )  <- paste0 ( "col" , 1 : 10 )                              # Nombres de columna nombres 
de fila ( datos )  <- paste0 ( "fila" ,1 : 10 )                              # Nombres de fila

Nuestros datos contienen diez columnas y diez filas con valores aleatorios normalmente distribuidos .

En los siguientes ejemplos, mostraré cómo crear mapas de calor en R basados ​​en diferentes funciones y paquetes. Es útil conocer diferentes formas de crear mapas de calor, ya que cada paquete proporciona un diseño de mapa de calor diferente. ¡Así que sigue leyendo hasta el final del artículo!

Ejemplo 1: crear un mapa de calor con la función de mapa de calor [Base R]

La función más común para crear mapas de calor en R es la función heatmap(), que ya proporciona la instalación base de R.

La función de mapa de calor se aplica como se muestra a continuación:

mapa de calor ( datos )                                                      # Aplicar función de mapa de calor

Mapa de calor en el ejemplo de programación R 1

Figura 1: Mapa de calor predeterminado en Base R.

La figura 1 ilustra el resultado del código R anterior. De forma predeterminada, la función de mapa de calor devuelve un mapa de calor con nombres de columnas y filas, así como un dendrograma .

Si queremos, podemos deshabilitar el dendrograma creado automáticamente:

mapa de calor ( datos, Rowv = NA, Colv = NA )                                # Eliminar dendrograma

Mapa de calor en el ejemplo de programación R 2

Figura 2: Mapa de calor sin Dendrograma en Base R.

Además, podemos modificar los colores del mapa de calor especificando nuestra propia gama de colores con la función colorRampPalette. El siguiente código R produce una función que crea rangos de color entre los colores cyan y deeppink3 :

my_colors <- colorRampPalette ( c ( "cyan" , "deeppink3" ) )              # Rango de color manual

Ahora, podemos crear un mapa de calor con esta gama de colores de la siguiente manera:

heatmap ( data, col = my_colors ( 100 ) )                                # Heatmap con colores manuales

Mapa de calor en el ejemplo de programación R 3

Figura 3: Mapa de calor con rango de color manual en Base R.

Ejemplo 2: crear un mapa de calor con la función geom_tile [paquete ggplot2]

Como ya se mencionó al comienzo de esta página, muchos paquetes de R brindan funciones para la creación de mapas de calor en R.

Un paquete popular para gráficos es el paquete ggplot2 de tidyverse y en este ejemplo te mostraré cómo crear un mapa de calor con ggplot2.

El paquete ggplot2 requiere un formato de datos largo. Podemos crear este formato de datos con el paquete remodelar…

instalar _ paquetes ( "reformar" )                                        # Instalar la 
biblioteca de paquetes de remodelación ( "reformar" )                                                 # Cargar paquete de remodelación

…y la función de fusión:

data_melt <- melt ( data )                                            # Reorder data 
head ( data_melt )                                                    # Primeras seis filas de datos 
# X1 X2 valor 
# fila1 col1 -14.15254153 
# fila2 col1 -6.88199228 
# fila3 col1 2.44972363 
# fila4 col1 -0.04076637 
# fila5 col1 3.54613210 
# fila6 col1 -2.57462492

La salida de la consola de RStudio muestra las primeras 6 filas de nuestros datos reformados. Como puede ver, la función melt creó las dos columnas X1 y X2, que contienen todas las combinaciones posibles de filas y columnas, y una tercera columna con el valor del nombre, que contiene los valores correspondientes.

Para dibujar un mapa de calor con el paquete ggplot2, también necesitamos instalar y cargar ggplot2:

instalar _ paquetes ( "ggplot2" )                                        # Instalar la biblioteca de paquetes ggplot2 
( " ggplot2" )                                                 # Cargar el paquete ggplot2

Ahora, podemos usar la función geom_tile del paquete ggplot2 para hacer un mapa de calor básico:

ggp <- ggplot ( data_melt, aes ( X1, X2 ) )  +                            # Crear mapa de calor con ggplot2 
  geom_tile ( aes ( fill =  value ) ) 
ggp                                                                # Imprimir mapa de calor

Mapa de calor en el ejemplo de programación R 4

Figura 4: Mapa de calor predeterminado en el paquete ggplot2.

Como puede ver en la Figura 4, el patrón de las celdas del mapa de calor es el mismo que en Base R. Sin embargo, el diseño general tiene el estilo típico de ggplot2.

Por supuesto, ggplot2 también proporciona opciones para la modificación de nuestro mapa de calor. Por ejemplo, podemos usar la función scale_fill_gradient para dibujar un mapa de calor con un rango de color manual:

ggp + scale_fill_gradient ( bajo =  "verde" , alto =  "negro" )           # Colores manuales del mapa de calor

Mapa de calor en el ejemplo de programación R 5

Figura 5: Mapa de calor con rango de color manual en el paquete ggplot2.

Ejemplo 3: crear un mapa de calor con la función plot_ly [paquete plotly]

Otro paquete popular para mapas de calor es el paquete plotly :

instalar _ paquetes ( "plotly" )                                         # Instalar la biblioteca de paquetes plotly 
( " plotly" )                                                  # Cargar el paquete plotly

El paquete plotly contiene la función plot_ly, que se puede usar para dibujar un mapa de calor especificando type = «heatmap»:

plot_ly ( z = data, type =  "heatmap" )                                # Aplicar la función plot_ly

Mapa de calor en el ejemplo de programación R 6

Figura 6: Mapa de calor predeterminado en el paquete plotly.

Nuevamente, el patrón es el mismo, pero el estilo general de la trama es diferente.

El paquete plotly también proporciona opciones adicionales para la modificación del mapa de calor. Si queremos cambiar el color, podemos especificar una gama de colores manualmente, o podemos usar algunas opciones predefinidas como escala de colores = “Grises”:

plot_ly ( z = datos, escala de colores =  "Grises" , tipo =  "mapa de calor" )          # Colores manuales

Mapa de calor en el ejemplo de programación R 7

Figura 7: Mapa de calor con rango de color manual en el paquete plotly.

Como puede ver en la Figura 7, la especificación Grays creó un mapa de calor en escala de grises.

Tenga en cuenta que el paquete plotly muestra sus gráficos en el visor de RStudio en lugar de en la ventana de gráficos de RStudio. Por ese motivo, debe exportar estos gráficos de forma diferente .

También tenga en cuenta que hay muchos otros paquetes disponibles para la creación de mapas de calor en R. En mi opinión, sin embargo, Base R, ggplot2 y plotly brindan las mejores soluciones.

Vídeo y recursos adicionales

Recientemente publiqué un video en mi canal de YouTube, que ilustra la sintaxis R de este artículo. Puedes encontrar el video a continuación:

Además, puede leer los otros tutoriales en mi sitio web:

En este tutorial de R aprendiste a hacer un mapa de calor . No dude en hacérmelo saber en los comentarios a continuación, si tiene preguntas adicionales.

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

En este tutorial, aprenderá a sumar y restar meses o años de un objeto Date en el lenguaje de programación…