library(eurostat)
library(tidyverse)

# qsa_o <- get_eurostat("nasq_10_nf_tr")
# saveRDS(qsa_o,"E:/R/charts/14112021/qsa.rds")
qsa_o <- readRDS("E:/R/charts/14112021/qsa.rds")
qsa <- qsa_o %>%
  filter(sector == "S14_S15" &
    time >= "2019-04-01" &
    s_adj == "NSA" &
    unit == "CP_MNAC" &
    na_item %in% c("B7G") &
    direct == "PAID") %>%
  select(geo, na_item, time, values) %>%
  group_by(geo) %>%
  mutate(index = values * 100 / values[time == "2019-04-01"]) %>%
  ungroup() %>%
  filter(time == "2019-04-01" | time == "2021-04-01") %>%
  mutate(time = str_remove_all(time, "-")) %>%
  select(-values) %>%
  pivot_wider(
    names_from = time,
    values_from = index,
    names_prefix = "q"
  ) %>%
  mutate(change = q20210401 - 100) %>%
  na.omit()

ggplot(qsa, aes(change, reorder(geo, change))) +
  geom_col(fill = "steelblue") +
  theme_light() +
  labs(
    x = "",
    y = "",
    title = "Gap en la Renta Bruta de los Hogares",
    subtitle = "2021Q2 comparado a 2019Q2=100",
    caption = "Luis Biedma"
  )

es <- qsa_o %>%
  filter(geo %in% c("ES") &
    sector == "S14_S15" &
    time >= "2019-04-01" &
    s_adj == "NSA" &
    unit == "CP_MNAC" &
    na_item %in% c("B7G", "D1", "B2A3G", "D4", "D5", "D61", "D62", "D63")) %>%
  filter(time == "2019-04-01" | time == "2021-04-01") %>%
  unite("na_item", c(na_item, direct)) %>%
  pivot_wider(
    names_from = na_item,
    values_from = values
  ) %>%
  mutate(
    B7G_NET = B7G_RECV,
    D1_NET = D1_RECV - D1_PAID,
    D4_NET = D4_RECV - D4_PAID,
    B2A3G_NET = B2A3G_RECV,
    D5_NET = -D5_PAID,
    D61_NET = D61_RECV - D61_PAID,
    D62_NET = D62_RECV - D62_PAID,
    D63_NET = D63_RECV - D63_PAID
  ) %>%
  select(geo, time, B7G_NET, D1_NET, B2A3G_NET, D4_NET, D5_NET, D61_NET, D62_NET, D63_NET) %>%
  pivot_longer(
    cols = c(where(is.numeric)),
    names_to = "na_item",
    values_to = "values"
  )



ggplot(es %>% filter(na_item != "B7G_NET"), aes(values, na_item, fill = as.factor(time))) +
  geom_col(position = "dodge") +
  scale_x_continuous(labels = scales::label_number()) +
  labs(
    fill = "Trimestre",
    x = "",
    y = "",
    title = "Principales componentes de la Renta de los Hogares",
    caption = "Luis Biedma"
  ) +
  theme_light() +
  scale_fill_manual(values = c("steelblue", "red"))

es <- es %>%
  mutate(time = str_remove_all(time, "-")) %>%
  pivot_wider(
    names_from = time,
    values_from = values,
    names_prefix = "q"
  ) %>%
  mutate(change = q20210401 - q20190401)

ggplot(es, aes(change, na_item)) +
  geom_col(fill = "steelblue") +
  scale_x_continuous(labels = scales::label_number()) +
  labs(
    x = "",
    y = "",
    title = "Cambio de los principales componentes de la Renta de los Hogares",
    subtitle = "Entre 2021Q2 y 2019Q2",
    caption = "Luis Biedma"
  ) +
  theme_light()

d42 <- qsa_o %>%
  filter(geo %in% c("ES") &
    sector %in% c("S1", "S14_S15") &
    time >= "2015-04-01" &
    s_adj == "NSA" &
    unit == "CP_MNAC" &
    na_item %in% c("D42") &
    direct == "RECV")

ggplot(d42, aes(time, values, colour = sector)) +
  geom_line(size = 0.8) +
  scale_y_continuous(labels = scales::label_number()) +
  labs(
    x = "",
    y = "",
    title = "D42: Rentas distribuidas de las sociedades",
    caption = "Luis Biedma"
  ) +
  theme_light() +
  scale_colour_manual(values = c("steelblue", "red"))

d42_all <- qsa_o %>%
  filter(sector %in% c("S1", "S14_S15") &
    time >= "2015-04-01" &
    s_adj == "NSA" &
    unit == "CP_MNAC" &
    na_item %in% c("D42") &
    direct == "RECV") %>%
  pivot_wider(
    names_from = sector,
    values_from = values
  ) %>%
  mutate(peso = S14_S15 * 100 / S1) %>%
  group_by(geo) %>%
  summarise(media = mean(peso, na.rm = TRUE))

ggplot(na.omit(d42_all), aes(media, reorder(geo, media))) +
  geom_col(fill = "steelblue") +
  labs(
    x = "",
    y = "",
    title = "Porcentaje de D.42 recibido por los Hogares sobre el Total",
    subtitle = "Media 2015Q2-2020Q2",
    caption = "Luis Biedma"
  ) +
  theme_light()