Library dplyr

La librería dplyr es una parte fundamental del ecosistema de paquetes de R utilizada para la manipulación y transformación eficiente de datos. Desarrollada por Hadley Wickham y otros colaboradores, dplyr proporciona un conjunto coherente de funciones que facilitan la manipulación y análisis de datos en R. https://dplyr.tidyverse.org/

Dataset

El Billboard Hot 100 es la lista de récords estándar de la industria musical en Estados Unidos para canciones, publicada semanalmente por la revista Billboard. Las clasificaciones se basan en las ventas, las reproducciones radiofónicas y el streaming en línea en Estados Unidos.

Cada semana, Billboard publica la lista “The Hot 100” con las canciones más vendidas y escuchadas en la radio durante esa semana. Este conjunto de datos es una recopilación de todas las listas “The Hot 100” publicadas desde su creación en 1958.

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr) #Para leer archivos .csv
billboard100 <- read_csv("billboard100.csv")
## Rows: 330087 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (2): song, artist
## dbl  (4): rank, last-week, peak-rank, weeks-on-board
## date (1): date
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Piping %>%

El operador %>% (pipe) facilita la escritura de código más legible y facilita la secuencia de operaciones en una tubería (pipeline). En lugar de anidar funciones o asignar resultados intermedios a variables, el operador %>% permite encadenar las operaciones de una manera más clara y directa.

head(billboard100,10)
billboard100 %>% head(10)
10 %>% head(billboard100, .)

Select

La función select() se utiliza para seleccionar columnas específicas de un marco de datos. Puede ser útil cuando estás trabajando con conjuntos de datos grandes y solo necesitas trabajar con un subconjunto específico de columnas.

billboard100 %>%
  select(date, rank, song, artist, 'weeks-on-board')
billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board')
billboard100 %>%
  select(-'last-week', -'peak-rank')

Mutate

La función mutate() se utiliza para agregar nuevas columnas o modificar columnas existentes en un marco de datos. Puedes realizar operaciones aritméticas, aplicar funciones a columnas existentes y crear nuevas variables basadas en las existentes.

billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board') %>%
  mutate(is_collab = grepl('Kiss', song) & grepl('Drake', artist)) %>%
  select(song,artist, is_collab, everything()) #La función grepl() se utiliza para buscar patrones en texto, y en este caso, está buscando la presencia de la palabra 'Featuring' en la columna "artist".

Filter

La función filter() se utiliza para filtrar filas específicas de un marco de datos basándose en condiciones dadas. Puedes usar operadores lógicos y comparaciones para especificar las condiciones que determinarán qué filas deben ser incluidas en el resultado

billboard100 %>%
  select(date, rank, song, artist, weeks_popular='weeks-on-board') %>%
  filter(weeks_popular >= 20, artist == 'Shakira' | artist == 'Taylor Swift')

Distinct

La función distinct() se utiliza para obtener las filas únicas de un marco de datos o de un conjunto de columnas específicas dentro de un marco de datos. Puedes utilizar esta función para eliminar duplicados basándote en una o más columnas.

billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board') %>%
  filter(artist == 'Drake') 
distinct <- billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board') %>%
  filter(artist == 'Drake') %>%
  distinct(song)

Group_by & Summarise

La función group_by() se utiliza para agrupar un marco de datos por una o más columnas. Cuando se aplica group_by(), se crea un “grupo” para cada combinación única de los valores en las columnas especificadas. Posteriormente, puedes aplicar funciones de resumen, como summarise(), a cada uno de estos grupos.

La función summarise() se utiliza para realizar resúmenes o agregaciones de datos dentro de cada grupo creado por group_by(). Puedes aplicar diversas funciones de resumen, como mean(), sum(), min(), max(), entre otras.

billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board') %>%
  filter(artist == 'Drake') %>%
  group_by(song) %>%
  summarise(total_weeks_popular = mean(weeks_popular))

Arrange

La función arrange() en la librería dplyr de R se utiliza para ordenar las filas de un marco de datos según una o más columnas. Puedes especificar el orden ascendente o descendente para cada columna.

billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board') %>%
  filter(artist == 'Drake') %>%
  group_by(song) %>%
  summarise(total_weeks_popular = max(weeks_popular)) %>%
  arrange(desc(total_weeks_popular), song) %>%
  head(10)

Count

La función count() se utiliza para contar el número de observaciones en cada grupo. Es comúnmente utilizada en combinación con group_by() para realizar recuentos en grupos específicos dentro de un marco de datos.

billboard100 %>%
  select(date:artist, weeks_popular='weeks-on-board')  %>%
  count(artist) %>%
  arrange(desc(n))