fbpx

Hola Mundo! En esta entrada vamos a dominar algunos aspectos básicos de dplyr para poder manipular datos en r

Qué es DPLYR?

Es un paquete de tidyverse como habíamos visto en una entrada anterior. Este paquete ayuda con problemas de manipulación de datos utilizando un lenguaje basado en acciones. DPLYR es un lenguaje muy utilizado por analistas y científicos de datos que utilizan R para explorar datos.

Para hablar de esto de las acciones o verbos de DPLYR, imaginemos que tenemos nuestra tabla original de datos. Luego, queremos transformar esta tabla para obtener alguna información más específica de nuestros datos.

Para eso, lo que hace dplyr es utilizar una serie de acciones como puede ser: seleccionar, distintas, columnas, filtrar datos o agrupar.

verbos para manipular datos

Estos verbos que nos van a ayudar a resolver casi todos los problemas de transformación y manipulación de datos son:

  • mutate() sirve para crear nuevas variables a partir de variables anteriores
  • select() sirve para seleccionar algunas columnas específicas o variables de nuestra tabla
  • filter() sirve para tomar variables según alguna condición
  • summarise() sirve para reducir muchos valores en un único resumen. Por ejemplo: si queremos calcular un promedio o un máximo o un mínimo
  • arrange() sirve para cambiar el orden de los datos y todos estos cinco verbos se pueden combinar utilizando…
  • group_by() para que ahora las operaciones se hagan por grupos

Cómo usar el operador pipe %>%

Ahora hablemos de lo que es el operador pipe o esta cosa rara que es %>%. Esto lo que sirve es para concatenar varias funciones un poco para entender esto recordemos como utilizamos las funciones en R. Por ejemplo con la función filter(). Lo mismo se puede hacer con el operador pipe. Esto lo veremos en código más adelante.

Cómo filtrar datos en R con dplyr?

Lo primero que vamos a hacer es cargar los datos y para eso vamos a instalar un paquete que se llama gapminder que tiene datos demográficos de los países a lo largo de diferentes años

# instalando paquete con los datos
# install.packages("gapminder")

# cargando paquete con los datos
library(gapminder)

# cargando datos a entorno
data("gapminder")

# cargando datos a entorno
head(gapminder)

Ahora, para ver los datos hacemos head igual de los datos que. En estos datos vamos a ver el país el continente al que pertenece el país, el año en que fueron recolectados los datos y la esperanza de vida la población y el producto interno per cápita, esto es el pib. Es una variable macro-económica que mide la economía es «buena» o «mala».

Estamos interesados en hacer filtros según el año el país y vamos a después hacer algunos resúmenes estadísticos. Bien para empezar a filtrar los datos vamos a cargar el paquete tidyverse:

# install.packages("tidyverse")
library(tidyverse)

Primero, vamos a filtrar los datos por país sin utilizar el operador pipe:

# filtrar datos por pais sin %>% 
filter(gapminder, country=='Mexico')

Ahora, vamos a hacer lo mismo pero con el operador pipe:

# filtrar datos por pais
# para hacer %>% en RStudio (cntrl + shift + M)
gapminder %>% 
  filter(country=='Mexico')

Para hacer un filtro por año sería más o menos la misma dinámica.

# filtrar datos por año
gapminder %>% 
  filter(year==2002)

Como agrupar y resumir datos con dplyr?

Muy bien, para terminar esta entrada, vamos a hacer resúmenes de datos. Esto sería tomar toda la tabla y convertirla en números que nos den cierta información relevante. Como por ejemplo sevpodría estar interesado en calcular la cantidad en asia y en algún año como 2007

# cantidad de paises en Asia en 2007
gapminder %>% 
  filter(continent == 'Asia',
         year == 2007) %>% 
  summarise(conteo = n())

La función n que sirve para contar la cantidad de registros que tenga la tabla.

Ahora, digamos que estamos interesados en calcular la máxima esperanza de vida entre todos los datos. Para eso, haríamos:

# maxima esparanza de vida
gapminder %>% 
  summarise(max_explife = max(lifeExp))

Ya para terminar, vamos a hacer una agrupación de la esperanza de vida promedio por año. Esto lo vamos a hacer utilizando el verbo group by que es lo que va a hacer es separar todo el conjunto de datos en diferentes partes por el año y a cada año le va a tomar la estadística o el resumen

# agrupando esperanza de vida promedio por año
gapminder %>% 
  group_by(year) %>% 
  summarise(prom_vida = mean(lifeExp))

Conclusión

Chévere porque ya entendemos lo básico para manipular datos con dplyr y pues nada más comparte esta entrada con esas personas que sabes que quieren aprender R para ciencia de datos!

Te mando un saludo donde quiera que estés