Last active
May 17, 2019 13:11
-
-
Save gonzalezgouveia/56c9cd557cd3d131e1dbf6c0f9b9e073 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
library(plotly) | |
library(ggthemes) | |
# devtools::install_github('rensa/ggflags') | |
library(ggflags) | |
# Hecho por Rafa @GonzalezGouveia | |
# Con gusto para #DatosDeMiercoles, propuesto por @R4DS_es | |
# suponiendo que ya tenemos los datos en un csv | |
# sino, el proceso para descarlo está aquí: | |
# https://github.com/cienciadedatos/datos-de-miercoles/tree/master/datos/2019/2019-05-15 | |
dataset_spotify <- read_csv('./data/spotify_data.csv') | |
# Agrupamos canciones por país | |
canciones_por_pais <- dataset_spotify %>% | |
group_by(top_pais) %>% | |
summarise(mean_positividad = mean(positividad), | |
mean_modo = mean(modo)) %>% | |
ungroup() %>% | |
# asignamos códigos para poner las banderitas | |
mutate( | |
codigo_pais = case_when( | |
top_pais == 'El Top 50 de Argentina' ~ 'ar', | |
top_pais == 'El Top 50 de Bolivia' ~ 'bo', | |
top_pais == 'El Top 50 de Chile' ~ 'cl', | |
top_pais == 'El Top 50 de Costa Rica' ~ 'cr', | |
top_pais == 'El Top 50 de Colombia' ~ 'co', | |
top_pais == 'El Top 50 de Ecuador' ~ 'ec', | |
top_pais == 'El Top 50 de España' ~ 'es', | |
top_pais == 'El Top 50 de Guatemala' ~ 'gt', | |
top_pais == 'El Top 50 de Honduras' ~ 'hn', | |
top_pais == 'El Top 50 de la Republica Dominicana' ~ 'do', | |
top_pais == 'El Top 50 de El Salvador' ~ 'sv', | |
top_pais == 'El Top 50 de México' ~ 'mx', | |
top_pais == 'El Top 50 de Nicaragua' ~ 'ni', | |
top_pais == 'El Top 50 de Panamá' ~ 'pa', | |
top_pais == 'El Top 50 de Paraguay' ~ 'py', | |
top_pais == 'El Top 50 de Perú' ~ 'pe', | |
top_pais == 'El Top 50 de Uruguay' ~ 'uy', | |
top_pais == 'El Top 50 de Venezuela' ~ 've' | |
) | |
) | |
# creamos gráfica | |
p2 <- canciones_por_pais %>% | |
ggplot(aes(x = mean_positividad, | |
y = mean_modo, | |
label = top_pais, | |
country = codigo_pais)) + | |
geom_point(size = rel(12)) + | |
geom_flag(size = rel(10)) + | |
labs(title = 'La musica hispana tiene personalidad', | |
x = '<- ira - positividad - alegría ->', | |
y = '<- menor - modo - mayor ->') + | |
# escogiendo tema gdocs | |
theme_gdocs() + | |
# cambiando algunas cosas del tema | |
theme(axis.text = element_blank(), | |
axis.line.y = element_line(), | |
plot.subtitle = element_text(hjust = 0, size = rel(1.3), | |
face = "plain", colour = 'gray40'), | |
axis.title = element_text(face = "plain", | |
colour = 'gray40', | |
size = rel(1.3))) | |
# viendo la gráfica | |
p2 | |
# todo listo. ahora a guardar la gráfica | |
ggsave('./images/spotify.png', | |
width = 5, | |
height = 5) | |
# Hecho por Rafa @GonzalezGouveia | |
# Con gusto para #DatosDeMiercoles, propuesto por @R4DS_es |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment