fbpx

En esta entrada, veremos cómo graficar en R. Al final, habrás visto:

Esta entrada, viene acompañada con código en R para practicar. Haz click aquí para verlo. Así, puedes copiar el código de la página y pegarlo en tu sesión de RStudio.

Cómo se gráfica en R?

Primero, hay que diferenciar las formas en cómo se hacen gráficas con otros programas.

Por ejemplo, puede ser que hayas trabajado con softwares como excel en donde se hacen clicks para seleccionar los datos y luego escoger los gráficos de un catálogo o galería de opciones

Por otro lado, En R y otros lenguajes de programación es diferente. Porque se utiliza código para hacer las gráficas! Esto ayuda a que cuando vengan datos diferentes, el proceso sea un poco más automático.

Pero veamos con un ejemplo a lo qué me refiero, así puedes ver la diferencia tú mismo o tú misma. Utilizamos datos que son los años y la cantidad películas hechas por Disney por año.

Graficar con clicks en excel

Vamos primero a Excel. tenemos los datos ya escritos en la hoja de cálculo y entonces haríamos:

Insertar > gráficos recomendados > puntos

graficas en excel

Luego, podemos cambiar el titulo o los colores haciendo click y escribiendo directamente sobre el dibujo. Esto es muy útil en la mayoría de los casos.

Graficar con código en R

Por otro lado, en R tenemos también los datos cargados en dos variables, year en carácter para los años y disney en números para la cantidad de películas.

year <- c('2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018')
disney <- c(11, 13, 11, 8, 12, 11, 12, 8, 10)

# para graficar 
plot(year, disney) 

Para editar títulos, colores y eso tenemos que agregar una o varias opciones a la gráfica. Pero, eso lo veremos en la siguiente sección. Por ahora, solo quiero que veas la diferencia entre clicks y código.

Lo bueno de usar código es que:

  1. Se vuelve más replicable y reproducible. Esto es, que puedes guardar una «plantilla» de la gráfica y compartirla o utilizarla luego así cambien los datos y
  2. Hay mucha más versatilidad y opciones de tipos de gráficas

Lo no tan bueno es que:

  1. Hay que saber más código para cada tipo de gráfica y
  2. La edición puede ser más pesada y tediosa.

Además, un problema que surge es saber qué función o código usar para alguna gráfica en específico. Te recomiendo revisar esta página www.r-graph-gallery.com Tiene separadas por categorías todas las gráficas con ejemplos y el código!

Cómo funciona R Base Graphics

En la parte anterior, hicimos está grafica en Excel y esta otra en R con la función plot(). Lo primero fue poner argumentos a los ejes x e y. Ahora vamos a editarla a ver si podemos imitar el estilo de Excel. Este es un proceso que va poco a poco. El resultado final se ve así:

plot(x = year,
     y = disney,
     main = 'disney',
     xlab = "",
     ylab = "",
     col = 'cornflowerblue',
     pch = 16,
     panel.first = grid())
graficas con r base graphics

Además de la función plot, R trae otras funciones interesantes como barplot(), hist(), pie() Ve a tu sesión de R y haz pruebas por tu cuenta!

Cómo funciona ggplot2?

Este paquete utiliza algo que se llama la gramática de los gráficos por eso la gg en ggplot.

La gramática de los gráficos

Ahora, la gramática de los gráficos es como cuando estudiamos lengua que tenemos eso de sujeto, verbo, o predicado. Esas cosas serían como los elementos o partes de una oración.

En la gramática de los gráficos, se separan los elementos o las partes de un gráfico en diferentes capas o layers, y así es más fácil modificarlos.

Las capas principales en ggplot son 1. datos 2. mapping 3. geometrias

Por último, la gramática de los gráficos también hace uso de elementos visuales o elementos estéticos, aestethics en inglés. Son las cosas que vemos en las gráficas como los colores, los tamaños o los ejes.

Pero como esto no se entiende vamos con un ejemplo

Como graficar en R con ggplot2

Digamos que tenemos los mismos datos del ejemplo anterior y queremos hacer la gráfica de puntos. Para empezar, cargamos la librería de ggplot que hemos instalado previamente, si no has instalado ggplot puedes mirar este video en donde lo instalamos y hablamos sobre paquetes en R.

# install.package(ggplot2) # para instalar ggplot2
library(ggplot2)

Después hacemos un data frame con las variables que queremos. Luego llamamos a la función ggplot() y el primer argumento es el dataframe, que sería la primera capa

# hacer dataframe
peliculas <- data.frame(year, 
                        disney)

Después viene el mapping, es asignar o escoger que campo de los datos va a qué elemento visual, o elemento estético

Para nuestro ejemplo, los elementos visuales serían el eje x y el eje y, en vamos a asignar al mapping la x = year, y = disney. Esto va dentro de la función aes(), por aestethics o elementos estéticos

Para agregar los puntos, tenemos que agregar otra capa. Este tipo de capas se llaman geometrías. Esta capa cambia según el tipo de gráfica que queremos. En este ejemplo, queríamos puntos, entonces utilizamos geom_point()… Para líneas utilizarías geom_line(), y así hay muchas otras geometrías

Además, podemos modificar el título podemos utilizar otra capa que se llama labs, con la opción title cambiamos el título. Ahora el código:

# graficar utilizando ggplot
ggplot(data = peliculas,
       mapping = aes(x = year,
                     y = disney)) +
  geom_point() +
  labs(title = 'disney')
graficas con ggplot2

Otros paquetes para graficar en R

    null
  • flexdashboard para hacer dashboards sencillos
  • RGL para gráficos en 3D
  • Plotly para gráficos interactivos
  • Leaflet para mapas
  • RColorBrewer para todo lo relacionado a manejo del color avanzado
  • Shiny para dashboards o aplicaciones web

Y otros que son populares pero que no he utilizado son:

  • highcharter
  • dygraphs
  • sunburstR
  • lattice
  • ggvis

Te invito a echar un vistazo y aprender! Chévere! Espero que ahora tengas una idea de cómo se grafica en R y empieces a hacer tus gráficas.