Skip to content

Instantly share code, notes, and snippets.

@sientifiko
Created November 18, 2022 00:34
Show Gist options
  • Save sientifiko/f22e60bf9326e1443ec741ed9f866a87 to your computer and use it in GitHub Desktop.
Save sientifiko/f22e60bf9326e1443ec741ed9f866a87 to your computer and use it in GitHub Desktop.
library(tidyverse)
library(countrycode)
library(gganimate)
library(gifski)
theme_set(theme_classic())
tiempo <- read.csv("annual-working-hours-per-worker.csv")
colnames(tiempo)[4] <- "tiempo"
complex <- read.csv("eci_hs6_hs96.csv")
complex$iso <-complex$Country.ID %>% str_sub(3, 5) %>% toupper()
complex <- complex %>%
gather("anno", "eci", 1:23)
complex$anno <- complex$anno %>%
str_extract("\\d+") %>%
as.numeric()
dat <- tiempo %>%
left_join(
complex %>% select(anno, iso, eci),
by = c("Code"="iso",
"Year" = "anno")
)
dat$region <- countrycode(dat$Code,
origin = "iso3c",
destination = "continent")
dat %>%
filter(Year >= 1998) %>%
ggplot() +
aes(eci, tiempo, color = Code) +
guides(color = "none") +
geom_jitter() +
facet_wrap(.~region) +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ) +
labs(x="Índice de complejidad económica",
y="Horas de trabajo anual promedio",
title = "Relación entre complejidad económica y horas de trabajo",
subtitle = "Año: {as.integer(frame_time)}",
caption = "Con base a datos del de OWID y el OEC\n@sientifiko1") +
transition_time(Year) +
ease_aes("linear") +
shadow_mark(alpha = 0.3, size = 0.5) -> p1
animate(p1, fps = 20, duration = 10, width = 1024, height= 450,
renderer = gifski_renderer("plotanimado.gif"))
energia <- read.csv("energy.csv")
colnames(energia)[4] <- "energy"
energia$Entity <- NULL
dat2 <- tiempo %>%
left_join(energia,
by = c("Year",
"Code"))
dat2$region <- countrycode(dat2$Code,
origin = "iso3c",
destination = "continent")
dat2 %>%
filter(Year == 2017) %>%
ggplot() +
aes(energy, tiempo, color = Code) +
guides(color = "none") +
geom_jitter() +
facet_wrap(.~region) +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ) +
labs(x="Uso energía per cápita",
y="Horas de trabajo anual promedio",
title = "Relación entre energía y horas de trabajo",
subtitle = "2017",
caption = "Con base a datos del de OWID\n@sientifiko1")
dat2 %>%
filter(Year >= 1965) %>%
ggplot() +
aes(energy, tiempo, color = Code) +
guides(color = "none") +
geom_jitter() +
facet_wrap(.~region) +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ) +
labs(x="Uso energía per cápita",
y="Horas de trabajo anual promedio",
title = "Relación entre energía y horas de trabajo",
subtitle = "Año: {as.integer(frame_time)}",
caption = "Con base a datos del de OWID\n@sientifiko1") +
transition_time(Year) +
ease_aes("linear") +
shadow_mark(alpha = 0.3, size = 0.5) -> p2
animate(p2, fps = 20, duration = 10, width = 1024, height= 500,
renderer = gifski_renderer("plot2.gif"))
lat <- dat2 %>%
filter(region == "Americas") %>%
na.omit()
lat <- lat %>%
group_by(Code) %>%
mutate(t_std = scale(tiempo),
e_std = scale(energy))
lat %>%
ggplot() +
aes(Year, color = Code) +
guides(color = "none") +
geom_line(aes(y=t_std, linetype = "Horas trabajo anual\npromedio")) +
geom_line(aes(y=e_std, linetype = "Energía\n en Kw/H pc")) +
facet_wrap(.~Code) +
# scale_y_continuous(trans = "log10") +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ,
legend.key.size = unit(1.5, 'cm'),
legend.text = element_text(size = 12)) +
labs(x="",
y="Escala en z-score por país",
linetype = "",
color = "",
title = "Relación entre energía y horas de trabajo",
subtitle = "Latinoamérica",
caption = "Con base a datos del de OWID\n@sientifiko1")
asia <- dat2 %>%
filter(region == "Asia") %>%
na.omit()
asia <- asia %>%
group_by(Code) %>%
mutate(t_std = scale(tiempo),
e_std = scale(energy))
asia %>%
ggplot() +
aes(Year, color = Code) +
guides(color = "none") +
geom_line(aes(y=t_std, linetype = "Horas trabajo anual\npromedio")) +
geom_line(aes(y=e_std, linetype = "Energía\n en Kw/H pc")) +
facet_wrap(.~Code) +
# scale_y_continuous(trans = "log10") +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ,
legend.key.size = unit(1.5, 'cm'),
legend.text = element_text(size = 12)) +
labs(x="",
y="Escala en z-score por país",
linetype = "",
color = "",
title = "Relación entre energía y horas de trabajo",
subtitle = "Asia",
caption = "Con base a datos del de OWID\n@sientifiko1")
internet <- read.csv("share-of-individuals-using-the-internet.csv")
colnames(internet)[4] <- "inter"
internet$Entity <- NULL
dat3 <- tiempo %>%
left_join(internet,
by = c("Year",
"Code"))
dat3$region <- countrycode(dat3$Code,
origin = "iso3c",
destination = "continent")
lat2 <- dat3 %>%
filter(region == "Americas") %>%
na.omit()
lat2 <- lat2 %>%
group_by(Code) %>%
mutate(t_std = scale(tiempo),
e_std = scale(inter))
lat2 %>%
ggplot() +
aes(Year, color = Code) +
guides(color = "none") +
geom_line(aes(y=t_std, linetype = "Horas trabajo anual\npromedio")) +
geom_line(aes(y=e_std, linetype = "% pob escalado")) +
facet_wrap(.~Code) +
# scale_y_continuous(trans = "log10") +
theme(strip.text.x = element_text(size = 14),
plot.title = element_text(size = 18),
plot.subtitle = element_text(size = 15) ,
legend.key.size = unit(1.5, 'cm'),
legend.text = element_text(size = 12)) +
labs(x="",
y="Escala en z-score por país",
linetype = "",
color = "",
title = "Relación entre internet y horas de trabajo",
subtitle = "Latinoamérica",
caption = "Con base a datos del de OWID\n@sientifiko1")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment