Clase 5: Análisis exploratorio de datos

Cristobal Alcazar 24 Oct 201824/10/18 a las 09:30 hrs.2018-10-24 09:30:24

Alumnos/as:

En la clase 5 realizamos un breve caso de análisis exploratorio sobre los datos del Titanic.
La idea de este tipo de análisis es levantar preguntas de interés acerca de nuestros datos.
Es importante enfocarse en la calidad de las preguntas, este planteamiento inicial nos guiara para usar las herramientas que hemos aprendido de los paquetes ggplot2 y dplyr para buscar respuestas o generar nuevas interrogantes.

Recuerden los siguientes puntos:

- Para visualizar la variación de una variable categórica, utilizamos gráficos de barra.

- Para visualizar la variación de una variable continua, utilizamos el gráfico conocido como histograma.

- Para visualizar la covariación entre una variable continua y una categórica, utilizamos el gráfico conocido como gráfico de caja y bigotes (boxplot).

- Para visualizar la covariación entre dos variables continuas, utilizamos el gráfico de dispersión (puntos).

- Para visualizar la covaración entre dos variables categóricas, utilizamos un gráfico de conteo (geom_count) que ve la cantidad de observaciones por cada grupo creado entre la intersección de ambas variables.

- Para visualizar la covariación entre dos variables categóricas, podemos utilizar además un gráfico de calor (geom_tile), donde la intesidad del color nos da información acerca de la cantidad de observaciones por grupo.

- Podemos utilizar la herramienta para visualizar distintas facetas de ggplot2 en conjunto con los gráficos anteriores: facet_wrap( ~ variable_categorica)

Pueden encontrar los apuntes de esta clase en el siguiente link:
rpubs.com/alcazar90/short_eda

Les recomiendo que vean el siguiente vídeo, es un análisis exploratorio en vivo realizado por el director de ciencias de datos de Datacamp:

Puede que muchas cosas no las entiendan, pero me interesa que vean el flujo de trabajo y como utiliza algunas de las herramientas que hemos visto.

El capítulo del texto guía es: r4ds.had.co.nz/ ... y-data-analysis.html

Saludos,
¡Cualquier duda comenten!

Clase 4: Los verbos de la manipulación.

Cristobal Alcazar 22 Oct 201822/10/18 a las 11:18 hrs.2018-10-22 11:18:22

¡Alumnos/as!

En nuestra clase número 4 vimos en mayor profundidad el paquete "dplyr".
Esta es nuestra aplicación (paquete extensión de R) para la etapa de "transformación" en nuestra tubería de datos.

Nos referimos a las principales funciones como verbos de la manipulación, esto porque ejecutan acciones que manipulan dataframes o data rectangular. Y específicamente vimos los siguientes verbos:

- filter: para filtrar observaciones
- select: para seleccionar variables por su nombre
- mutate: para crear nuevas variables
- summarise: para resumir valores
- arrange: para ordenar observaciones

Por motivos de tiempo no alcanzamos a ver la función "group_by", la cual cambia el dominio de acción de los verbos dentro de nuestra data rectangular, es decir, podemos crear grupos en base a variables y ejecutar los verbos a nivel de grupos.
Pueden encontrar más detalles de group_by y el resto de los verbos en los apuntes de la clase, rpubs.com/alcazar90/verbos_manipulacion



Vimos también el uso del operador pipe "%>%", cuyas teclas rápidas son ctrl + shift + m, para componer operaciones complejas utilizando los verbos en conjunto. Recuerden el ejemplo de Pin Pon al final de los apuntes, en todo caso, el operador pipe funciona así:
data_izquierda_primer_argumento %>% accion_derecha(otro_argumento) | ---- equivalente a ----> accion_derecha(data_izquierda_primer_argumento, otro_argumento)

La ventaja del operador es que nos permite descomponer un problema a nivel granular de verbos, es decir, que función de dplyr me sirve para resolver cada uno de los pasos. Luego, el operador combina la ejecución de los verbos de manera tal que mejora la lectura y composición del código, guiándonos en la resolución del problema. Recordemos que siempre el primer argumento en los verbos de la manipulación es una data rectangular y también que siempre el resultado será una data rectangular "transformada" por la acción ejecutada.

Finalmente recordar lo que vimos al principio de la clase 4, dedicamos un tiempo a ver que herramientas de edición disponen los R notebooks, pueden encontrar más información en el capítulo 27 del texto guía: r4ds.had.co.nz/r-markdown.html

PD: En material docente adjunte dos torpedos elaborados por personas de la comunidad de R hispanohablante resumiendo las funciones de los paquetes ggplot2 y dplyr.

Saludos,
¡cualquier duda comenten!

Clase 3: Introducción a la visualización con ggplot2.

Cristobal Alcazar 13 Oct 201813/10/18 a las 16:50 hrs.2018-10-13 16:50:13

¡Ya pasamos nuestra tercera clase!

Estamos escribiendo código en R notebooks y aprendiendo usar el paquete ggplot2 para crear visualizaciones con una data de ejemplo de autos que vienen de ggplot2::mpg.
pica_auto.jpg
Para promover el uso de notebooks para escribir apuntes, reportes o tutoriales, el post relativo a la tercera clase serán mis apuntes en un R notebook que publique en RPubs.

Acá esta el link: rpubs.com/alcazar90/intro_viz

PD: como se que leerán los apuntes, ahí entenderán que no es tan random la imagen de los picapiedras de arriba.

¡Saludos!

Clase 2: Código y Proceso de trabajo.

Cristobal Alcazar 5 Oct 201805/10/18 a las 11:50 hrs.2018-10-05 11:50:05

Alumnos/as

En este post hablaremos de las dos ideas que vimos en la segunda clase: proceso de trabajo con R y visualización.

El primero punto de la clase fue explorar la interfaz de RStudio, recordemos que hablamos de los cuatro cuadrantes en que se divide la pantalla del programa (ver diapos). De estos cuadrantes los dos que quiero destacar son:

1. Editor de texto: es la parte en que escribimos códigos o reportes. Acá se lleva a cabo la creación de un registro para que nuestro trabajo sea reproducible a posterioridad. En esencia, el código es simplemente texto, así que podemos guardar nuestras "recetas" para cocinarlas las veces que queramos siempre y cuando tengamos una "cocina", la cual será R.

2. Consola: es el cuadrante donde tenemos acceso al lenguaje de programación R, será el motor donde el código se procesa y nos entrega resultados.

Vimos que una de las formas habituales de trabajar con R es interactuando justamente entre los dos cuadrantes comentados arriba. Esto se puede ilustrar en las siguientes escenas, me encuentro trabajando en un proyecto, lo desmenuzo en un conjunto de tareas simples y luego comienzo a escribir código en el script (archivo con extensión .R) para implementar cada una de las tareas propuestas. Como es natural en programación, esto será un proceso de prueba y error, donde estaré experimentando sí lo que escribo ejecuta lo que quiero en la consola. En caso de tener errores, se realizan las modificaciones nuevas en el código y así se continua en un proceso conocido por "diseño iterativo incremental".

Durante este proceso, es de utilidad saber las siguientes teclas rápidas y notas:

- ctrl + 1: desplaza el cursor al cuadrante del editor de texto

- ctrl + 2: desplaza el cursor al cuadrante de la consola

- ctrl + enter: envía las líneas de código sobre las que esta el cursor (caso imagen sería línea 13) para ser ejecutadas en la consola, es decir, me quedo en el editor pero envío código para ver resultados en la consola.

- ctrl + shift + enter: envío todo el código que esta en el script para ser ejecutado en la consola, es decir, se ejecuta todo lo que se encuentra en el archivo .R en que estoy trabajando.

- Iniciar una línea con '#', sin comillas, es para escribir comentarios que son de utilidad para explicar el "por qué" de lo que estoy haciendo con el código. Su yo del futuro les agradecerá siempre que hayan documentado con comentarios útiles.

- Para crear objetos en R, que pueden ser utilizados después llamándolos por su nombre, se utiliza el operador de asignación "<-", por ejemplo en la línea 13 creamos un objeto que tiene el nombre "x" y representa el número 4. Si luego, escribimos x en la consola, ¡voilá! nos aparecerá el número 4.

- alt + -: tecla rápida para crear el operador de asignación.

- Los otros dos cuadrantes son útiles para ver los objetos que tenemos creados en R ("Environment"), visualizar gráficos y también exportarlos de manera fácil.

Esta forma de trabajar con R, interactuando entre consola y script, es una de las más habituales pero no es la única. Podemos realizar análisis con R utilizando solo el cuadrante del editor de texto, usando un archivo conocido como "R Notebooks". Estos se pueden crear en RStudio en el menú superior, archivos, nuevos archivos, R notebooks.

¿Qué es un R notebook?

La ventaja de esta forma de trabajo es que nos permite integrar código y texto tradicional en un mismo documento. Podemos trabajar enfocándonos solo en el editor de texto de Rstudio al abrir este tipo de archivos y cuando queramos ejecutar código de R en el documento, apretamos las teclas ctrl + alt + i, como atajo rápido, para crear un fragmento de código en el documento donde podemos escribir código que será ejecutado por R. Como vimos en clases y en la imagen que se encuentra a continuación, los resultados de la ejecución del código se pueden visualizar inmediatamente debajo de la región gris que se observa en el editor de texto limitada por: ```{r} ```.

Otra parte importante de esta forma de trabajo, es que podemos ir viendo como va quedando nuestro "producto" en la pestaña "Viewer". Para esto debemos apretar el botón "Preview" que se encuentra en la parte superior donde están las opciones del cuadrante del editor en RStudio y se generará la versión publicable del Rnotebook que por defecto es en formato html.

En línea con esta forma de trabajar en R Notebooks, les recomiendo el post del científico Stephen Wolfram titulado What is a computational essay?, donde desarrolla de manera más detallada ideas sobre integrar texto tradicional y código como forma de expresión.

Clase 1: Periodismo y Ciencia de datos.

Cristobal Alcazar 28 Sep 201828/09/18 a las 22:01 hrs.2018-09-28 22:01:28

Estimados alumnos/as.

En nuestra primera clase, tratamos los siguientes puntos:

1. La importancia del análisis de datos en el periodismo, los que quieran profundizar más en la conexión entre periodismo y datos les recomiendo el siguiente ted talk How is data journalism changing the newsroom.

2. Definimos la ciencia de datos como el proceso en que los datos se convierten en conocimiento y comprensión. La importancia de este punto es poner énfasis en el proceso y la imagen completa de las etapas que conforman un proyecto de datos, el esquema a continuación ilustra todas las etapas de este proceso que nos referiremos constantemente en el curso como la "tubería de datos".


3. Presentamos las herramientas que utilizaremos durante el taller para implementar un proyecto de datos: lenguaje de programación R y RStudio. Este último, es el programa desde el cual usaremos el lenguaje de programación R para realizar nuestras tareas de análisis y que además cuenta con herramientas para mejorar nuestra productividad al trabajar en proyectos de datos. Pueden descargar ambos programas de manera gratuita y recordar que para utilizar RStudio deben tener instalado primero el lenguaje de programación R. Pueden leer esta sección del texto guía para conocer un poco más de la interfaz de RStudio.

4. Ya entrando en la operativa de programar con R, hablamos del concepto de "paquetes" (ver video), entendiéndolos como una forma de agregar herramientas adicionales a las que ya trae R por defecto (R base). La analogía que empleamos en este punto fue la de comparar R base con un celular nuevo, mientras que los paquetes serían las aplicaciones que descargamos de google store o app store para tener nuevas funcionalidades en nuestro teléfono. En la próxima clase veremos que estas funcionalidades vienen en forma de código y documentación.

5. Se justifica la introducción temprana de esta idea de "paquetes" bajo el motivo de que utilizaremos una colección de paquetes llamada "tidyverse", en que cada etapa de la tubería de datos es abarcada por las funcionalidades de uno o más paquetes de esta colección. La ventaja del "tidyverse" es que todos los paquetes comparten una serie de convenciones que nos facilitaran la forma de pensar y analizar datos. Por ejemplo, la próxima clase iniciaremos con la etapa de visualización de la "tubería de datos" y utilizaremos el paquete "ggplot2" para añadir en nuestra caja de herramientas una forma de crear visualizaciones efectivas.



NOTA: Pueden descargar las diapositivas de la primera clase en el material docente.