Manejo de Datos con dplyr

Transformación y resumen de datos con dplyr en R

Aprenda a manipular y transformar datos de forma eficiente utilizando dplyr. Este tutorial cubre funciones clave como filter(), select(), mutate(), group_by() y summarize() para agilizar las tareas de manipulación de datos en R.

Programación
Autor/a
Afiliación
Fecha de publicación

10 de febrero de 2024

Fecha de modificación

9 de mayo de 2025

Palabras clave

dplyr tutorial, manipulación de datos en R, tidyverse manipulación de datos, R dplyr, transformación de datos en R

Introducción

dplyr es uno de los paquetes centrales del tidyverse que hace que la manipulación de datos en R sea rápida e intuitiva. Con su sintaxis sencilla y sus potentes verbos, dplyr le permite filtrar, seleccionar, mutar, agrupar y resumir sus datos con un código mínimo. En este tutorial, aprenderá a transformar y resumir conjuntos de datos utilizando dplyr, junto con ejemplos prácticos para ilustrar sus capacidades.



Funciones clave de dplyr

dplyr proporciona un conjunto de funciones -a menudo denominadas ‘verbos’- que constituyen la base de la manipulación de datos en R. Éstas son algunas de las más importantes:

  • filter(): Subconjunto de filas basado en condiciones.
  • select(): Elija columnas basándose en nombres o patrones.
  • mutate(): Crear nuevas columnas o modificar las existentes.
  • group_by(): Agrupar los datos para operaciones de resumen.
  • summarize(): Calcule estadísticas de resumen para datos agrupados.

Ejemplos prácticos

Ejemplo 1. Filtrar y seleccionar datos Filtrado y selección de datos

Utilicemos el conjunto de datos incorporado mtcars para filtrar los coches con más de 6 cilindros y seleccionar sólo las columnas de millas por galón (mpg), number of cylinders (cyl), and horsepower (hp).

library(dplyr)

# Filtrar el conjunto de datos para coches con más de 6 cilindros y seleccionar columnas específicas
filtered_data <- mtcars %>%
  filter(cyl > 6) %>%
  select(mpg, cyl, hp)

print(filtered_data)
                     mpg cyl  hp
Hornet Sportabout   18.7   8 175
Duster 360          14.3   8 245
Merc 450SE          16.4   8 180
Merc 450SL          17.3   8 180
Merc 450SLC         15.2   8 180
Cadillac Fleetwood  10.4   8 205
Lincoln Continental 10.4   8 215
Chrysler Imperial   14.7   8 230
Dodge Challenger    15.5   8 150
AMC Javelin         15.2   8 150
Camaro Z28          13.3   8 245
Pontiac Firebird    19.2   8 175
Ford Pantera L      15.8   8 264
Maserati Bora       15.0   8 335

Ejemplo 2: Mutar y resumir datos

En este ejemplo, añadiremos una nueva columna que calcule la relación potencia-peso y, a continuación, resumiremos los datos agrupándolos en función del número de cilindros.

library(dplyr)

# Añadir una nueva columna para la relación potencia-peso y ummarize mpg promedio por número de cilindros
summary_data <- mtcars %>%
  mutate(power_to_weight = hp / wt) %>%
  group_by(cyl) %>%
  summarize(
    avg_mpg = mean(mpg),
    avg_power_to_weight = mean(power_to_weight)
  )

print(summary_data)
# A tibble: 3 × 3
    cyl avg_mpg avg_power_to_weight
  <dbl>   <dbl>               <dbl>
1     4    26.7                37.9
2     6    19.7                39.9
3     8    15.1                53.9

Ejemplo 3: Encadenamiento de varios verbos dplyr

Este ejemplo demuestra cómo encadenar múltiples operaciones de dplyr para realizar una transformación de datos completa.

library(dplyr)

# Encadenar múltiples operaciones: filtrar, seleccionar y mutar
transformed_data <- mtcars %>%
  filter(mpg > 20) %>%
  select(mpg, cyl, disp, hp) %>%
  mutate(efficiency = mpg / disp)

print(transformed_data)
                mpg cyl  disp  hp efficiency
Mazda RX4      21.0   6 160.0 110 0.13125000
Mazda RX4 Wag  21.0   6 160.0 110 0.13125000
Datsun 710     22.8   4 108.0  93 0.21111111
Hornet 4 Drive 21.4   6 258.0 110 0.08294574
Merc 240D      24.4   4 146.7  62 0.16632584
Merc 230       22.8   4 140.8  95 0.16193182
Fiat 128       32.4   4  78.7  66 0.41168996
Honda Civic    30.4   4  75.7  52 0.40158520
Toyota Corolla 33.9   4  71.1  65 0.47679325
Toyota Corona  21.5   4 120.1  97 0.17901749
Fiat X1-9      27.3   4  79.0  66 0.34556962
Porsche 914-2  26.0   4 120.3  91 0.21612635
Lotus Europa   30.4   4  95.1 113 0.31966351
Volvo 142E     21.4   4 121.0 109 0.17685950

Buenas Prácticas

  • Utilice el operador de tubería %>%:
    Este operador ayuda a encadenar múltiples operaciones, haciendo que su código sea más legible.

  • Escribir código claro y descriptivo:
    Utilice nombres de variables significativos y añada comentarios cuando sea necesario.

  • Prueba incremental:
    Construya sus transformaciones de datos paso a paso y compruebe los resultados intermedios para asegurarse de que su código funciona como se esperaba.

Conclusión

dplyr simplifica el proceso de manipulación de datos en R, permitiéndole transformar y resumir conjuntos de datos con un código mínimo e intuitivo. Si domina las funciones básicas (filtrar, seleccionar, mutar, agrupar por y resumir), podrá agilizar los flujos de trabajo de preparación de datos y preparar los datos de forma eficaz para su posterior análisis o visualización.

Lecturas adicionales

Feliz codificación y disfrute transformando sus datos con dplyr!

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Manejo de Datos con dplyr},
  date = {2024-02-10},
  url = {https://www.datanovia.com/es/learn/programming/r/data-science/data-wrangling-with-dplyr.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2024. “Manejo de Datos con dplyr.” February 10, 2024. https://www.datanovia.com/es/learn/programming/r/data-science/data-wrangling-with-dplyr.html.