Resumen

La función filter() del paquete dplyr en R se utiliza para seleccionar subconjuntos de datos que cumplen con condiciones específicas. En el código presentado, se usa filter() para seleccionar autos del conjunto de datos mtcars con más de 100 caballos de fuerza, y luego se aplica un segundo filtro para seleccionar aquellos con más de 100 caballos de fuerza y un rendimiento superior a 20 millas por galón. Además, se genera un gráfico de dispersión para visualizar la relación entre la potencia del motor y el consumo de combustible, destacando patrones clave en los datos.


Introducción

En la ciencia de datos, la manipulación de datos es un proceso clave para transformar información en bruto en conocimiento útil. Herramientas como filter() del paquete dplyr son esenciales para seleccionar datos relevantes, permitiendo a los analistas enfocarse en observaciones importantes. En este artículo, explicaremos cómo usar filter() para trabajar con conjuntos de datos en R (Wickham & Grolemund, 2017).


Desarrollo

Introducción al Paquete dplyr

El paquete dplyr es parte del tidyverse y proporciona funciones sencillas y rápidas para la manipulación de datos. La función filter() es utilizada para seleccionar filas específicas según condiciones lógicas. Es fundamental en cualquier flujo de trabajo que requiera la extracción de subconjuntos de datos.

Ejemplo Práctico

A continuación, utilizamos el conjunto de datos mtcars, que contiene información sobre autos, para filtrar filas según condiciones específicas, como autos con más de 100 caballos de fuerza y un rendimiento superior a las 20 millas por galón.

# Cargar el paquete dplyr
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Cargar dataset
data <- mtcars

# Filtrar autos con más de 100 caballos de fuerza
autos_potentes <- data %>% filter(hp > 100)

# Filtrar autos con más de 100 caballos de fuerza y más de 20 mpg
autos_economicos <- data %>% filter(hp > 100, mpg > 20)

# Mostrar resultados
head(autos_potentes)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
## Duster 360        14.3   8  360 245 3.21 3.570 15.84  0  0    3    4
head(autos_economicos)
##                 mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4      21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## Hornet 4 Drive 21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## Lotus Europa   30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
## Volvo 142E     21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
library(ggplot2)

# Crear gráfico de relación entre hp y mpg
ggplot(autos_potentes, aes(x = hp, y = mpg)) +
  geom_point(color = "blue", size = 3) +
  geom_smooth(method = "lm", color = "red", linetype = "solid") + 
  labs(
    title = "Relación entre Caballos de Fuerza y Millas por Galón",
    x = "Caballos de Fuerza (hp)",
    y = "Millas por Galón (mpg)"
  ) +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Resultado Y Discusion

los esultados obtenidos a partir de la función filter() muestran dos subconjuntos de datos filtrados de acuerdo con las condiciones especificadas.

Autos con más de 100 caballos de fuerza: Este conjunto incluye autos con motores más potentes, pero no necesariamente más eficientes en cuanto a consumo de combustible.

Autos con más de 100 caballos de fuerza y un rendimiento superior a 20 millas por galón: Este subconjunto refleja vehículos que combinan potencia y eficiencia, lo que podría ser de interés para consumidores que buscan tanto rendimiento como economía.

El gráfico generado ilustra una relación negativa entre la potencia del motor (caballos de fuerza) y las millas por galón. A medida que la potencia aumenta, las millas por galón tienden a disminuir, lo que es consistente con la expectativa de que los vehículos más potentes suelen consumir más combustible. Sin embargo, es importante destacar que el Lotus Europa se encuentra fuera de esta tendencia general, destacándose por su alta eficiencia a pesar de tener una potencia significativa.

Este análisis pone de manifiesto la utilidad de filter() para realizar selecciones específicas de datos y cómo puede ayudar a extraer información relevante que permite realizar comparaciones y encontrar patrones interesantes. Los resultados pueden ser útiles para la industria automotriz, así como para consumidores interesados en optimizar su elección entre potencia y eficiencia energética.

Conclusiones

El uso de la función filter() del paquete dplyr en R es una herramienta esencial para la manipulación eficiente de datos. En este análisis, se demostró cómo esta función puede ayudar a seleccionar subconjuntos específicos de información de manera rápida y clara.

Los resultados del filtrado mostraron:

Una relación inversa entre la potencia del motor (caballos de fuerza) y el consumo de combustible (millas por galón).

La posibilidad de identificar vehículos excepcionales, como el Lotus Europa, que combinan potencia y eficiencia.

Estos hallazgos tienen aplicaciones prácticas significativas, especialmente en áreas como la industria automotriz y la optimización energética. Además, el flujo de trabajo reproducible presentado refuerza la importancia de herramientas como filter() y ggplot2 en proyectos de ciencia de datos.

En conclusión, esta metodología no solo simplifica el manejo de datos complejos, sino que también facilita la interpretación visual y el análisis profundo de rones clave, ofreciendo una base sólida para proyectos más avanzados en ciencia de datos

Referencias

Wickham, H., & Çetinkaya-Rundel, M. (2017). R for data science: Import, tidy, transform, visualize, and model data. O’Reilly Media. Wickham, H., & Grolemund, G. (2023). R for data science: Import, tidy, transform, visualize, and model data (2nd ed.). O’Reilly Media.