Librería dplyr en r para la manipulación de datos

14/05/2017

dplyr es un paquete de R fundamental para la manipulación y resumen de datos tabulares. Su diseño intuitivo, basado en una gramática de verbos, simplifica tareas complejas, haciéndolo esencial para cualquier analista de datos en R. Este artículo explorará a fondo sus capacidades, desde las funciones básicas hasta las operaciones más avanzadas.

Temario

¿Qué es dplyr?

dplyr proporciona una gramática concisa y eficiente para la manipulación de datos. A diferencia de las funciones base de R, que pueden ser difíciles de recordar y aplicar, dplyr ofrece un conjunto de verbos consistentes que realizan operaciones comunes de forma clara y sencilla. Esto lo hace más fácil de aprender y usar, especialmente para aquellos nuevos en el análisis de datos con R.

Instalación y Carga de dplyr

Para instalar dplyr, utiliza la siguiente línea de código en tu consola R:

install.packages("dplyr")

Una vez instalado, cárgalo en tu sesión R con:

library(dplyr)

Verbos dplyr: Las Funciones Clave

Los verbos de dplyr son las funciones centrales que te permiten interactuar con tus datos. Algunos de los más importantes son:

  • select(): Selecciona columnas específicas de un data frame. Puedes seleccionar columnas individuales, rangos de columnas o usar funciones como starts_with() , ends_with() , contains() para seleccionar columnas que cumplen ciertas condiciones.
  • filter(): Filtra filas basadas en condiciones lógicas. Permite seleccionar solo las filas que cumplen criterios específicos.
  • arrange(): Ordena las filas de un data frame según los valores de una o más columnas. Puedes ordenar en orden ascendente o descendente.
  • mutate(): Crea nuevas columnas a partir de columnas existentes. Permite realizar cálculos y transformaciones en tus datos.
  • summarise(): Calcula resúmenes estadísticos de las columnas. Funciones como mean() , median() , sd() , min() , max() , entre otras, se pueden aplicar para obtener estadísticas descriptivas.
  • group_by(): Agrupa las filas del data frame según el valor de una o más columnas. Combinado con otros verbos, permite aplicar operaciones a grupos específicos de datos.

El Operador Pipe ( %>%)

El operador pipe, %>%, es una herramienta fundamental en dplyr. Permite encadenar múltiples funciones de forma legible y eficiente, mejorando la fluidez del código. En lugar de anidar funciones, el pipe permite leer el código de izquierda a derecha, facilitando la comprensión y el mantenimiento.

Ejemplos Prácticos con dplyr

Para ilustrar el uso de dplyr, consideremos el conjunto de datos msleep(datos de sueño de mamíferos). Este conjunto de datos contiene información sobre el tiempo de sueño, peso corporal y otras características de diferentes especies de mamíferos.

Selección de Columnas (select())

Para seleccionar las columnas 'name' y leep_total', se utiliza:

msleep %>% select(name, sleep_total)

Para seleccionar todas las columnas excepto 'name':

msleep %>% select(-name)

Filtrado de Filas (filter())

Para filtrar los mamíferos que duermen más de 16 horas:

msleep %>% filter(sleep_total >= 16)

Para filtrar mamíferos que duermen más de 16 horas y pesan más de 1 kg:

msleep %>% filter(sleep_total >= 16, bodywt >= 1)

Ordenamiento de Filas (arrange())

Para ordenar por orden taxonómico:

msleep %>% arrange(order)

Para ordenar por leep_total' en orden descendente:

msleep %>% arrange(desc(sleep_total))

Creación de Nuevas Columnas (mutate())

Para crear una columna con la proporción de sueño REM:

msleep %>% mutate(rem_proportion = sleep_rem / sleep_total)

Resumen de Datos (summarise())

Para calcular el promedio del sueño total:

msleep %>% summarise(avg_sleep = mean(sleep_total))

Para calcular varias estadísticas:

msleep %>% summarise(avg_sleep = mean(sleep_total), min_sleep = min(sleep_total), max_sleep = max(sleep_total))

Operaciones por Grupo (group_by() y summarise())

Para calcular el promedio de sueño por orden taxonómico:

msleep %>% group_by(order) %>% summarise(avg_sleep = mean(sleep_total))

Tabla Comparativa de Funciones Base R vs. dplyr

Tarea Función Base R Función dplyr
Seleccionar columnas subset() , [[]] select()
Filtrar filas subset() filter()
Ordenar filas order() , sort() arrange()
Crear nuevas columnas transform() , within() mutate()
Resumen estadístico aggregate() , apply() , tapply() summarise()
Operaciones por grupo tapply() , aggregate() , by() group_by() , summarise()

Como se puede observar, dplyr ofrece una sintaxis más limpia y consistente para realizar estas operaciones, lo que facilita el código y su comprensión.

Conclusión

dplyr es una herramienta indispensable para el análisis de datos en R. Su enfoque basado en verbos, junto con el operador pipe, permite una manipulación de datos eficiente, legible y reproducible. La combinación de sus funciones facilita la limpieza, transformación y resumen de datos, convirtiéndolo en una herramienta esencial para cualquier científico de datos o analista que trabaje con R.

Si quieres conocer otros artículos parecidos a Librería dplyr en r para la manipulación de datos puedes visitar la categoría Libros y Librerías.

Subir