Duración: 4 semanas
Esfuerzo estimado: 4 a 7 horas por semana
Tema: Introducción a la manipulación de datos
Nivel: Medio
Idioma: Español

DOI

¿A quién va destinado este curso?

Este curso forma parte de un conjunto de cursos que cubren las necesidades actuales de investigadores en distintas áreas y ámbitos de conocimiento.

Alumnos y alumnas de doctorado con conocimientos básicos sobre el manejo de R y sobre la elaboración de informes y documentos reproducibles. Es necesario haber realizado previamente el curso de Introduccción a R y Rstudio y bastante recomendable el de Procedimientos para la elaboración de informes y documentos ciéntifico-técnicos, o poseer los conocimientos que se abordan en ellos.

¿Cómo vamos a trabajar?

Se trata de un curso práctico, por lo que vamos a trabajar presentando los aspectos básicos y practicando con ejemplos. Analizaremos las posibilidades de aplicación al tiempo que resolvemos distintos problemas y cubrimos las necesidades habituales; siempre con una intensidad in crescendo.

El curso está orientado a que los participantes, una vez concluido el curso, dispongan de la experiencia y la terminología para seguir avanzando personalmente ya que todo está en la red :-). Todo, incluidos cursos de introducción, manuales,… Proporcionaremos los enlaces más relevantes con el desarrollo del curso pero al final de este texto puedes encontrar las fuentes y recursos más relevantes para poder seguir avanzado.

¿Cómo se ha pensado el curso?

El curso está pensado para quienes se interesen por avanzar en tareas de gestión de datos, y en su caso, en el manejo de grandes volúmenes de información y en ser eficientes. Pretendemos guiar al alumnado a obtener las competencias necesarias que un analista de datos deber tener para gestionar un conjunto de datos y poder sacrale partido efectivo, eso inlcuye tecnicas que están orientadas a obtener vistas especificas de los datos, ya sean subconjuntos, filtrados o inlcuso a recodificar los datos y restructurarlos. Quien analiza un conjunto de datos debe tener o adquirir conocimiento sobre la estructura que tienen sus propios datos inicialmente, datos crudos, y en conocer diversas formas para presentarlos, como decimos incluyendo el transformarlos, de manera que pueda sacarles el máximo partido. Esto forma parte de un proceso en el que quien analiza datos habitualmente sabe que invierte la mayor parte del tiempo del análisis. Aún así el curso es ambicioso, pretendemos que sea útil en varias fases del trabajo de análisis de datos: en la fase de limpieza de los datos, es decir en su preparación más básica, en la de transformarlos para ser visualizados o prepararlos para aplicarles algún modelo, en la fase de visualización y finalmente en la fase de comunicación, que por lo amplisimo de este concepto pensamos que solamente lo rozamos con técnicas de construir tablas y gráficos. Partiremos de la librería más clásica: la librería base, que no deja de tener presencia e importancia, para pasar a trabajar con los librerías que actualmente están muy en boga como son las englobadas en el conjunto de librerías tidyverse, algunas ya son grandes clásicos como ggplot2, pero algunas pensamos que se van a ser pronto, si no lo son ya, un estándar de facto como la librería kable y kableExtra.

Flujo de trabajo de un análisis de datos genérico



Este curso podríamos situarlo entre las tareas de Limpieza, Transformación, Visualización y finalmente Comunicación, cada uno de los módulos que vamos a recorrer se centra en una de estos tres trabajos y pensamos que se deben de recorrer en orden, pero nada os impide hacerlo en el orden que más se ajuste a tus preferencias o necesidades.

  • Limpieza y Manipuilación de datos: La abordaremos en el Modulo 1. A la hora de entender nuestros datos se hace necesario re-elaborar la propia información primero para “arreglar” errores de codificación, siempre los hay, pero sobre todo para abordar otros enfoques o análisis de la información que surgen en el dialogo que quien analiza datos mantiene con el conjunto de datos.
  • Visualización: La abordaremos en el Modulo 2 y 3, donde ahondamos en la librería ggplot2 y en las librerías kable y kableExtra que permiten la adecuada organización de los datos en una o más tablas, la codificación y los formatos para la presentación de los dados. Esta librerías son muy versátiles y no permiten tanto generar resultados para html, como para u otros formatos.

Todo lo trabajaremos desde la filosofía de “investigación reproducible” donde el documento se convierte en un interlocutor con el investigador y recoge el diálogo del mismo permitiendole reproducir y reutilizar su trabajo con distintas fuentes de datos, o ante modificaciones de las mismas, en diferentes escenarios, como pueden ser filtrados os subconjuntos de datos, manteniendo un documento vivo y actualizado en todo momento y fácilmente reutilizable.

Contenidos y secuenciación

Se organizan los contenidos del curso en tres módulos y en cada uno de ellos encontrarás textos, ejemplos y materiales de auto-evaluación.

  • Modulo 1: "Manipulación de datos "

    Trabajamos con objetos data.frame, así que en este modulo ahondaremos en las herramientas básicas para manipularlos, desde diferentes perspectivas y empleando diversas librerías usuales. Presentamos tres lecciones autónomas:

    • Manipulación básica de dataframes: Empleando la librería base(@citabase) y los operadores más clásicos para manipular conjuntos de datos basados en los índices.

    • Manipulación avanzada de dataframes: Aquí nos centramos en el tratamiento avanzado de los datos incluyendo: tratar valores faltantes, ampliar un dataframe, por filas o columnas: rbind(), cbind(), merge() y funciones más allá de los operadores basados en índices del data.frame como son las funciones: aggregate() y la familia de funciones apply.

    • Tidyverse: dplyr y tidyr: Hadley Wickham ha creado numerosos paquetes entre los que se encuentran tres de los cuales vamos a hablar en este apartado: dplyr, tidyr . Aquí podemos encontrar el manifiesto del universo tidy o tidyverse donde los paquetes se construyen para que tengan sintonia los unos con los otros. Trabajaremos con las funciones de la librería dplyr: select(), filter(),arrange(), mutate(),group_by(), summarise() y con las de tidyr : gather(), spread(), separate() y unite() y el cada vez más empleado operador %>%.

  • Modulo 2: "Gráficos con ggplot2"

    Hoy en día no podemos estar a la altura sin hacer nuestros gráficos con la magnífica librería ggplot2 creada por Hadley Wickham. ’ggplot2 es ua librería de R para crear gráficos estadísticos o de datos, pero difiere de la mayoría de paquetes gráficos porque tiene un potente concepto subyacente que es la existencia de una gramática de gráficos (Wilkinson, 2005), hay que entender esta gramática antes de sacarle el máximo partido a esta librería por eso presentamos dos lecciones autónomas:

    • Entendiendo ggplot2: Aquí explicamos el concepto subyacente de la gramática de gráficos empleada. Trabajaremos con la función ggplot() y entenderemos el funcionamiento de los layers fundamentales: aesthetics y geometry. Veremos como refinar los gráficos con las técnicas de faceting, etiquetado y modificación de ejes.

    • Galería de gráficos ggplot2: En esta lección autónoma nos centramos en mostrar como obtener gráficos usuales de forma elegante, veremos boxplots, histogramas, diagramas de densidad o barras, de barras apiladas, gráficos de lineas y de errores etc…

  • Modulo 3: "Tablas dinámicas"

    Para entender nuestros datos es imprescindible cruzar datos, resumirlos y eso se hace usualmente con tablas. Es así mismo fundamental que las tablas no sean un objeto muerto, sino que esté en conexión con nuestros datos, no podemos a estas alturas del siglo XXI modificar las tablas “a mano” porque haya sido modificada la fuente de datos, esta tarea ha de hacerse automáticamente al “recrear/regenerar” el fichero o análisis, se trata de hacer investigación y documentos reproducibles y trabajar bajo este paradigma nos obliga a pensar en el mantenimiento de los ficheros ante los infinitos cambios o retoques que debemos aplicarles. Para comunicar además es importante el estilo que empleemos, y en estas cuestiones nos entretendremos en este módulo. Presentamos con este fin una única lección autónoma:

    • Tablas con kableExtra: La librería kableExtra pone a nuestra disposición funciones con las que diseñar vistosas tablas con nuestros datos que pueden ser incorporadas a nuestros informes, tesis y demás trabajos de investigación. El objetivo de kableExtra es construir tablas complejas y manipular estilos de tablas. Este paquete utiliza la sintaxis pipes >%> y verbaliza las funciones de forma que se pueden añadir capas, de una forma similar al usado en ggplot2.


base-r.pdf     data-transformation.pdf     data-visualization-2.1.pdf


Más cheat sheets en www.rstudio.com