Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webinar : Visualización de datos en R : Usando ggplot2

Webinar : Visualización de datos en R : Usando ggplot2

Charla dictada el Viernes 3 de abril del 2020.

Abraham Zamudio

April 03, 2020
Tweet

More Decks by Abraham Zamudio

Other Decks in Education

Transcript

  1. Webinar : Visualizaci´ on de datos en R : Usando

    ggplot2 Abraham Zamudio 3 de Abril del 2020 1 / 26 #YoMeQuedoEnCasa
  2. Visualizaci´ on Introducci´ on Los m´ etodos de visualizaci´ on

    de datos se refieren a la creaci´ on de re- presentaciones gr´ aficas de informaci´ on. La visualizaci´ on juega un papel importante en el an´ alisis de datos y ayuda a interpretar grandes datos en una estructura en tiempo real utilizando conjuntos complejos de cifras num´ ericas o f´ acticas. Observacion : El 90 % de la informaci´ on transmitida al cerebro es visual. Referencia 2 / 26 #YoMeQuedoEnCasa
  3. Visualizaci´ on Introducci´ on Con los flujos aparentemente infinitos de

    datos f´ acilmente disponibles para las empresas de hoy en d´ ıa en todas las industrias, el desaf´ ıo radica en la interpretaci´ on de datos, que es la informaci´ on m´ as valiosa para la organizaci´ on , as´ ı como sus objetivos, metas y objetivos a largo plazo.Ah´ ı es donde entra la visualizaci´ on de datos. Debido a la forma en que el cerebro humano procesa la informaci´ on, la presentaci´ on de ideas en cuadros o gr´ aficos para visualizar cantidades significativas de datos complejos es m´ as accesible que depender de hojas de c´ alculo o informes. 3 / 26 #YoMeQuedoEnCasa
  4. Visualizaci´ on Introducci´ on Las visualizaciones ofrecen una forma r´

    apida, intuitiva y m´ as simple de transmitir conceptos cr´ ıticos de manera universal, y es posible experimentar con diferentes escenarios haciendo peque˜ nos ajustes. 4 / 26 #YoMeQuedoEnCasa
  5. Visualizaci´ on Introducci´ on Estudios recientes descubrieron que el uso

    de visualizaciones en el an´ alisis de datos podr´ ıa acortar las reuniones de negocios en un 24 %. Adem´ as, una estrategia de inteligencia empresarial con capacidades de visualizaci´ on cuenta con un retorno de la inversi´ on de $13.01 por cada d´ olar gastado. 5 / 26 #YoMeQuedoEnCasa
  6. ggplot2 Historia ggplot2 es un paquete de visualizaci´ on de

    datos para el lenguaje de programaci´ on R. Creado por Hadley Wickham en 2005, ggplot2 es una implementaci´ on de la Gram´ atica de gr´ aficos de Leland Wilkinson, un esquema general para la visualizaci´ on de datos que divide los gr´ aficos en componentes sem´ anticos como escalas (scales) y capas (layers). ggplot2 puede servir como un reemplazo para los gr´ aficos base en R y contiene una serie de valores predeterminados para la visualizaci´ on web e impresa. Desde 2005, ggplot2 ha crecido en uso para convertirse en uno de los paquetes R m´ as populares. ggplot2: Elegant Graphics for Data Analysis - Hadley Wickham The Grammar of Graphics - Leland Wilkinson ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics 6 / 26 #YoMeQuedoEnCasa
  7. Elementos de un gr´ afico en ggplot2 Introducci´ on Un

    gr´ afico en ggplot2 se construye combinando una serie de elementos b´ asicos y comunes a muchos tipos de gr´ aficos distintos mediante una sintaxis sencilla. Esta secci´ on describe esa sintaxis y los elementos que articula 7 / 26 #YoMeQuedoEnCasa
  8. Elementos de un gr´ afico en ggplot2 Datos Uno de

    los elementos m´ as importantes de un gr´ afico son los datos que se quieren representar. Una particularidad de ggplot2 es que solo acepta un tipo de datos: data.frames. Otras funciones gr´ aficas (p.e., hist) admiten vectores, listas u otro tipo de estructuras. ggplot2 no. 1 p <− ggplot(iris) Observacion : El c´ odigo anterior crea un objeto, p que viene a ser un protogr´ afico: contiene los datos que vamos a utilizar, los del conjunto de datos iris. Obviamente, el c´ odigo anterior es insuficiente para crear un gr´ afico: a´ un no hemos indicado qu´ e queremos hacer con iris. 8 / 26 #YoMeQuedoEnCasa
  9. Elementos de un gr´ afico en ggplot2 Est´ eticas En

    un conjunto de datos hay columnas: edad, altura, ingresos, tempe- ratura, etc. En un gr´ afico hay, en la terminolog´ ıa de ggplot2, est´ eticas. Est´ eticas son, por ejemplo, la distancia horizontal o vertical, el color, la forma (de un punto), el tama˜ no (de un punto o el grosor de una l´ ınea), etc. Igual que al hablar asociamos a un conjunto de sonidos (p.e., m-e-s-a) un significado (el objeto que conocemos como mesa), al realizar un gr´ afico asociamos a elementos sin significado propio (p.e., los colores) uno: el que corresponde a una columna determinada de los datos. En ggplot2, dentro del lenguaje de los gr´ aficos que implementa, es muy importante esa asociaci´ on expl´ ıcita de significados a significantes, es decir, de columnas de datos a est´ eticas. 1 p <− p + aes(x = Petal.Length, y = Petal.Width, colour = Species) 9 / 26 #YoMeQuedoEnCasa
  10. Elementos de un gr´ afico en ggplot2 Est´ eticas se

    est´ an a˜ nadiendo a p informaci´ on sobre las est´ eticas que tiene que utilizar y qu´ e variables de iris tiene que utilizar: La distancia horizontal, x, vendr´ a dada por la longitud del p´ etalo. La distancia vertical, y, por su anchura. El color, por la especie. Observacion Hay que hacer notar la sintaxis del c´ odigo anterior, bastante particular y propia del paquete ggplot2. Al protogr´ afico se le han sumado las est´ eticas. En las secciones siguientes se le sumar´ an otros elementos adicionales. Lo importante es recordar c´ omo la suma es el signo que combina los elementos que componen el lenguaje de los gr´ aficos. 10 / 26 #YoMeQuedoEnCasa
  11. Elementos de un gr´ afico en ggplot2 Est´ eticas De

    todos modos, es habitual combinar ambos pasos en una ´ unica ex- presi´ on 1 p <− ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) Observacion : El objeto p resultante a´ un no es un gr´ afico ni se puede representar. Le faltan capas, que es el objeto de la siguiente secci´ on. No obstante, se puede inspeccionar as´ ı: 1 summary(p) 11 / 26 #YoMeQuedoEnCasa
  12. Elementos de un gr´ afico en ggplot2 Est´ eticas ¿Cu´

    antas est´ eticas existen? Alrededor de una docena, aunque se utili- zan, generalmente, menos: x e y, distancias horizontal y vertical. colour, para el color. size, para el tama˜ no. shape, que indica la forma de los puntos (cuadrados, tri´ angulos, etc.) de los puntos o del trazo (continuo, punteado) de las l´ ıneas. alpha para la transparencia: los valores m´ as altos tendr´ ıan formas opacas y los m´ as bajos, casi transparentes. De ah´ ı la utilizad del canal alfa: da peso e importancia a las observaciones que la merecen. fill, para el color de relleno de las formas s´ olidas (barras, etc.). 12 / 26 #YoMeQuedoEnCasa
  13. Elementos de un gr´ afico en ggplot2 Capas Las capas

    (o geoms para ggplot2) son los verbos del lenguaje de los gr´ aficos. Indican qu´ e hacer con los datos y las est´ eticas elegidas, c´ omo representarlos en un lienzo. 1 p <− p + geom point() 2 p Observacion: Para guardar el ultimo ggplot : 1 ggsave(”grafico.png”) 13 / 26 #YoMeQuedoEnCasa
  14. Elementos de un gr´ afico en ggplot2 Capas Una caracter´

    ıstica de las capas, y de ah´ ı su nombre, es que pueden superponerse. Por ejemplo, 1 ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) + 2 geom point() + geom smooth() a˜ nade al gr´ afico una curva suavizada (con sus intervalos de confianza en gris). 15 / 26 #YoMeQuedoEnCasa
  15. Elementos de un gr´ afico en ggplot2 Capas Existen muchos

    tipos de capas. Los m´ as usuales son geom_point, geom_line, geom_histogram, geom_bar y geom_boxplot. Pero hay m´ as. En la p´ agina http://docs.ggplot2.org/current/ se muestra una lista de los disponibles (en la versi´ on m´ as actualizada de ggplot2). En esa p´ agina se indica qu´ e geom hay que utilizar en funci´ on de una representaci´ on esquem´ atica del tipo de gr´ afico que se quiere construir. Adem´ as, hay capas espec´ ıficas que exigen est´ eticas especiales . Para algunas tiene sentido, p.e., shape. Para otras no. Esas especificidades est´ an indicadas en dicha p´ agina, que es m´ as ´ util que la ayuda general de R. 17 / 26 #YoMeQuedoEnCasa
  16. Elementos de un gr´ afico en ggplot2 Facetas Muchos de

    los gr´ aficos que pueden generarse con los elementos ante- riores pueden reproducirse sin mucho esfuerzo (exceptuando, tal vez, cuestiones de aspecto) usando los gr´ aficos tradicionales de R, pero no los que usan facetas. 1 ggplot(iris, aes(x = Petal.Length, y = Petal.Width)) + 2 geom point() + geom smooth() + 3 facet grid(˜ Species) Observacion Crea tres gr´ aficos dispuestos horizontalmente que comparan la relaci´ on entre la anchura y la longitud del p´ etalo de las tres especies de iris. Una caracter´ ıstica de estos gr´ aficos, que es cr´ ıtica para poder hacer comparaciones adecuadas, es que comparten ejes. 18 / 26 #YoMeQuedoEnCasa
  17. Elementos de un gr´ afico en ggplot2 Mas sobre las

    esteticas Las est´ eticas se pueden etiquetar con la funci´ on labs. Adem´ as, se le puede a˜ nadir un t´ ıtulo al gr´ afico usando la funci´ on ggtitle. Por ejemplo, en el gr´ afico anterior se pueden reetiquetar los ejes y la leyenda haciendo 1 ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) + 2 geom point() + 3 geom smooth() + 4 ggtitle(”Ancho y largo del Petalo”) + 5 labs(x = ”Largo del Petalo”, 6 y = ”Ancho del Petalo”, 7 colour = ”Especies”) 20 / 26 #YoMeQuedoEnCasa
  18. Elementos de un gr´ afico en ggplot2 Mas sobre las

    esteticas 21 / 26 #YoMeQuedoEnCasa
  19. Elementos de un gr´ afico en ggplot2 Temas Los temas

    de ggplot2 permiten modificar aspectos est´ eticos del gr´ afico que no tienen que ver con los datos en s´ ı. Eso incluye los ejes, etiquetas, colores de fondo, el tama˜ no de los m´ argenes, etc. No es habitual (y se desaconseja a los usuarios menos expertos) tener que alterar los temas que ggplot2 usa por defecto. Solo se vuelve necesario cuando los gr´ aficos tienen que adecuarse a una imagen corporativa o atenerse a alg´ un criterio de publicaci´ on exigente. Un tema es una colecci´ on de elementos (p.e., panel.background, que indica el color, transparencia, etc. del lienzo sobre el que se represen- ta el gr´ afico) modificables. El tema que usa ggplot2 por defecto es theme_grey. Al escribir theme_grey() en la consola de R, se mues- tran alrededor de cuarenta elementos modificables y sus atributos tal y como los define dicho tema. 22 / 26 #YoMeQuedoEnCasa
  20. Elementos de un gr´ afico en ggplot2 Temas ¿Qu´ e

    se puede hacer con los temas? Una primera opci´ on es elegir otro. Por ejemplo, se puede reemplazar el habitual por otros disponibles en el paquete como theme_bw (o theme_classic) haciendo 1 ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) + 2 geom point() + 3 geom smooth() + 4 ggtitle(”Ancho y largo del Petalo”) + 5 labs(x = ”Largo del Petalo”, 6 y = ”Ancho del Petalo”, 7 colour = ”Especies”)+ 8 theme bw() 23 / 26 #YoMeQuedoEnCasa
  21. Elementos de un gr´ afico en ggplot2 Temas Es posible

    usar tanto los temas que incluye ggplot2 por defecto como otros creados por la comunidad. Algunos, por ejemplo, tratan de imitar el estilo de publicaciones reconocidas como The Economist o similares. Algunos est´ an recogidos en paquetes como, por ejemplo, ggthemes. 1 ggplot(iris, aes(x = Petal.Length, y = Petal.Width, colour = Species)) + 2 geom point() + geom smooth() + 3 ggtitle(”Ancho y largo del Petalo”) + 4 labs(x = ”Largo del Petalo”, 5 y = ”Ancho del Petalo”, 6 colour = ”Especies”)+ 7 theme bw() + 8 theme( 9 panel.background = element rect(fill = ”lightblue”), 10 panel.grid.minor = element line(linetype = ”dotted”) 11 ) 25 / 26 #YoMeQuedoEnCasa
  22. Elementos de un gr´ afico en ggplot2 Temas Se est´

    a modificando el atributo de color del lienzo de un gr´ afico y el tipo de la l´ ınea con que se dibuja la malla. 26 / 26 #YoMeQuedoEnCasa