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)
playlist = 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.
Qual a playlist mais popular? A vizualização mostra que a playlist mais popular é a “Pop Up”, onde seus pontos se encontram bem concentrados na parte superior do gráfico. As playlists “Bonde do Funk” e “Esquenta Sertanejo” também são bem populares, mas possuem algumas faixas com uma popularidade baixa.
OBS: usar um sumario estatistico como a media para ordenar reorder() é util.
playlist %>%
ggplot(aes(x = "Músicas", y = track_popularity, color = playlist_name)) +
geom_quasirandom() +
facet_wrap(~ reorder(playlist_name, track_popularity, mean))
Quanto mais a música é energetica mais dançavel ela é? A vizualização mostra que há uma concentração maior de pontos na parte superior direita do gráfico, o que demonstra que quanto mais a faixa é energética mais ela é adequada para dançar. Podemos percebemos também que as faixas consideradas mais adequadas para dançar, são da playlist “Clássicos do Funk”, pois possuem uma danceabilidade maior.
playlist %>%
ggplot(aes(x = danceability, y = energy, color = playlist_name)) +
geom_quasirandom() +
geom_segment(x = 0.2, y = 0.5, xend = 0.7, yend = 1, color = "black") +
geom_segment(x = 0.5, y = 0.1, xend = 1, yend = 0.6, color = "black")
As faixas do gênero “Funk” são mais acústicas? A vizualização mostra que há uma concentração maior de pontos na parte inferior do gráfico, o que demonstra que as faixas desse gênero possuem uma acústica inferior a 0.75, com exceção de 3 faixas que se aproximam de 1.0.
playlist %>%
filter(grepl("Funk", playlist_name)) %>%
ggplot(aes(x = "musica", y = acousticness, color = playlist_name)) +
geom_quasirandom()
As faixas do gênro “Funk” são mais instrumentais? A vizualização mostra que no geral as faixas desse gênero se concentram na parte inferior do gráfico, ou seja, são pouco instrumentais. A maioria das faixas possuem instrumentalidade igual a 0, e a faixa que tem maior instrumentalidade possue valor < 0.4.
playlist %>%
filter(grepl("Funk", playlist_name)) %>%
ggplot(aes(x = "musica", y = instrumentalness, color = playlist_name)) +
geom_quasirandom()
As faixas com uma presença de audiência na gravação incluem conteúdo explícito? A vizualização mostra que as faixas que não incluem conteúdo explícito estão mais concentradas em relação aos valores de vivacidade e as com as que incluem conteúdo explícito tem valores de vivacidade menos concentrados, ou seja, há uma possibilidade dos das faixas com conteúdo explícito terem sido gravadas com a presença de uma audiência.
playlist %>%
ggplot(aes(x = speechiness, y = track_explicit, color = track_explicit)) +
geom_boxplot(coef = 10)
OBS: grafico de densidade de valencia pra saber se as musicas são mais tristes ou felizes. no geral as musicas são mais felizes com exceção da playlist coração partido.
As faixas são mais positivas ou negativas? A vizualização mostra que no geral as faixas são mais positivas, com excecão da playlist “Coração Partido”.
playlist %>%
ggplot(aes(x = valence, color = playlist_name)) +
geom_density() +
facet_wrap(~ reorder(playlist_name, track_popularity, mean))
Opcão melhor:
playlist %>%
ggplot(aes(x = reorder(playlist_name, valence), y = valence, color = playlist_name)) +
geom_boxplot(coef = 1000) +
coord_flip() +
labs( x = "Playlist", y = "Valência", title = "Qual a playlist mais popular?")