Ordenar, explorar y transformar los datos es un paso fundamental en la explotación de datos.

Des de R, el software libre que tiene como objetivo facilitar el análisis estadístico de datos, existen varias formas de entrar en este terreno. Una de las vías más cómodas es utilizando las funciones implementadas en el paquete dplyr.

Artículos relacionados con R:

R Projects

Una conexión de titanes: Google Analytics y R Statistics

En este post introduciremos las funciones más relevantes del paquete y, a modo de ejemplos, ejecutaremos algunas líneas y mostraremos el resultado que obtenemos. Para ejecutar dichas líneas de código utilizaremos los datos hflights que se encuentran en el paquete homónimo. En este enlace se explica la información que contiene la tabla, así como la información que esconde cada variable.

La estructura de los datos es la siguiente:

dplyr

El paquete dplyr permite encadenar funciones, implementadas en el paquete o no, sobre un objeto. Estos encadenados se vehiculan a través del siguiente secuencia de símbolos  %>%. Esta estructura de encadenado de cálculos secuenciales facilita y mucho el proceso de exploración y transformación de los datos así como de la lectura de código por distintos integrantes de un equipo.

En este post, abriremos una sección por cada función que se quiere introducir. ¡Comencemos!

1. filter()

La función filter() es una función lógica que selecciona aquellas filas que cumplen la condición introducida.

Ejemplo: Imaginemos que queremos trabajar sólo con los vuelos que han superado las dos horas de vuelo :

dplyr.

Ejemplo: Imaginemos que queremos trabajar sólo con los vuelos que despegaron en fines de semana:

dplyr

2. select()

La función select() simplemente selecciona las columnas que indiquemos en la función.

dplyr select

Y también permite indicar qué variables no queremos en nuestro data frame:

dplyr. select

3. group_by(), arrange(), summarise() y mutate()

La función group_by() agrupa nuestros datos según la variable que especifiquemos. Seguidamente de esta agrupación, con una cadena %>%, especificaremos el cálculo que queremos hacer sobre esta agrupación.  Estos cálculos seran el argumento de dos funciones capitales en dplyr:

  • summarise(): Esta función cambia la estructura de los datos de entrada, generando una nueva tabla donde cada fila es un único valor de la agrupación y por cada valor de la agrupación tendremos el valor correspondiente al cálculo especificado.

  • mutate(): Esta función mantiene la estructura de los datos de entrada, generando una nueva columna con el cálculo especificado. Para cada valor de la variable de agrupación, el valor de la nueva variable valdrá lo mismo.

En los argumentos de estas funciones se especifica el cálculo que buscamos para esa agrupación, como por ejemplo mean(), median(), paste(), ifelse(), ...

Es importante anunciar que una vez se agrupa una tabla por una variable, esta queda agrupada por dicha variable. Para desagrupar la tabla utilizaremos la función ungroup().

dplyr ungroup

3.1 group_by(), summarise() y arrange()

Ejemplo: Supongamos que queremos calcular la duración media de cada número de vuelo.

dplyr summarise

La función arrange() ordena una tabla según los valores de la variable especificada en orden creciente. Cuando se especifica el arrange(desc()) la tabla se ordena en orden descendiente. Supongamos que queremos ordenar el cálculo anterior por orden decreciente de la durada media de vuelo:

dplyr arrange

3.2 group_by() y mutate()

Ejemplo: Añadiremos la fecha en formato as.Date y prescindiremos de los campos que indican año, mes y día.

dplyr as date

 

Ejemplo: Añadir un nuevo campo que sea la velocidad media, en millas por hora, de cada número de vuelo

dplyr. as date

3.3 group_by(), summarise() y n_distinct()

La función n_distinct() cuenta el número de distintos elementos de una variable.

Ejemplo: Supongamos que queremos calcular cuántos vuelos despegan cada día en los fines de semana:

dplyr n distinct

Ejemplo: O por ejemplo podría interesarnos qué ruta es la más transitada:

dplyr. n distinct

Si dplyr fuera un iceberg, estos ejemplos estarían definiendo solamente la cima de este.

Para más información de todas las posibilidades que ofrece este paquetes podéis visitar este enlace.

dplyr. Introducción y ejemplos

Leave Comment

Your email address will not be published. Required fields are marked *