library(tidyverse)
## ── Attaching packages ──────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.0     ✓ purrr   0.3.3
## ✓ tibble  2.1.3     ✓ dplyr   0.8.5
## ✓ tidyr   1.0.2     ✓ stringr 1.4.0
## ✓ readr   1.3.1     ✓ forcats 0.5.0
## ── Conflicts ─────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(ggbeeswarm)
spotify = read_csv("../data/playlists-spotify.csv")
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   playlist_id = col_character(),
##   playlist_name = col_character(),
##   track_id = col_character(),
##   track_explicit = col_logical(),
##   track_href = col_character(),
##   track_is_local = col_logical(),
##   track_name = col_character(),
##   track_preview_url = col_character(),
##   track_uri = col_character(),
##   track_album_id = col_character(),
##   track_album_name = col_character(),
##   track_album_release_date = col_character(),
##   track_album_release_date_precision = col_character(),
##   key_name = col_character(),
##   mode_name = col_character(),
##   key_mode = col_character()
## )
## See spec(...) for full column specifications.

Track popularity

Popularidade por playlist

spotify %>% 
  ggplot(aes(y = reorder(playlist_name, track_popularity), x = track_popularity, color = playlist_name)) +
  geom_boxplot()

Popularidade por modo

spotify %>% 
  ggplot(aes(x = mode_name, y = track_popularity, color = mode_name)) +
  geom_quasirandom() +
  geom_hline(yintercept = 25, linetype = "dashed", color = "brown")

Não existe um tom preferido

spotify %>% 
  ggplot(aes(x = track_popularity, color = key_name)) +
  geom_density() +
  geom_vline(xintercept = 37.5, linetype = "dashed", color = "brown") +
  geom_vline(xintercept = 87.5, linetype = "dashed", color = "brown")

spotify %>% 
  ggplot(aes(x = track_popularity, color = key_name)) +
  geom_density() +
  geom_vline(xintercept = 37.5, linetype = "dashed", color = "brown") +
  geom_vline(xintercept = 87.5, linetype = "dashed", color = "brown") +
  facet_wrap(~ key_name)

Quao felizes são as musicas de uma certa playlist

spotify %>% 
  ggplot(aes(y = valence, color = playlist_name)) +
  geom_histogram(fill = "white", binwidth = 0.1) +
  facet_wrap(~ playlist_name)

Como é a distribuicao de popularidade de acordo com o parametro track_explicit

spotify %>% 
  ggplot(aes(x = track_popularity, color = track_explicit)) +
  geom_histogram(fill = "white", bins = 15) +
  facet_wrap(~ track_explicit)