knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>", 
  fig.height = 6,
  fig.width = 8,
  fig.path = "Report/", 
  echo = FALSE, message = FALSE, warning = FALSE
)


# library(ficomp)

devtools::load_all()

library(dplyr)
library(forcats)
library(ggplot2)
library(tidyr)
library(ggptt)
library(glue)

set_proj_theme()

data("data_main_total_a", "data_main_groups_a", "data_ameco", "data_main_annual")

base_year <- 2010
mean_range <- base_years <- 2000:2018
geos <- c(Finland = "FI", Sweden = "SE", Germany = "DE", France = "FR")
start_time <- "1995-01-01"
geo_trans <- geo_fi
nace0_trans <- nace0_fi
h_geos <- c("FI", "SE", "DE", "US")
data_main_annual %>% 
  filter(geo == "FI") %>% 
  select(geo, time, 
         "Nimellinen, vaihtosuhdekorjattu, sama valuutta" = nulc_aper_eur_atot_rel_ecfin20, 
        "Nimellinen, samassa valuutassa" =  nulc_aper_eur_rel_ecfin20,
        "Reaalinen" =  rulc_aper_rel_ecfin20, 
        "Nimellinen, oma valuutta" = nulc_aper_rel_ecfin20) %>% 
  gather(vars, values, -geo, -time) %>% 
  group_by(geo, vars) %>% 
  mutate(values = rebase(values, time, mean_range)) %>% 
  ungroup() %>% 
  ggplot(aes(time, values, color = vars)) +
  geom_line() +
  the_title_blank(c("x", "l")) +
  geom_hline(yintercept = 100) +
   labs(y = glue("Indeksi, keskiarvo {min(mean_range)} - {max(mean_range)} = 100")) +
  the_legend_bot() +
  guides(color = guide_legend(nrow = 2))

save_fig("0_all_ind")

# ggptt::ggsave_twitter("nulc.png", plot = last_plot() + theme(legend.text = element_text(size = 10)) + 
                        # labs(title = "Suomen kustannuskilpailukykyindikaattorit", caption = "Lähde: Eurostat, OECD, ECFIN, PTT"))
data_main_annual %>% 
  select(geo, time, nulc_aper) %>% 
  gather(vars, values, nulc_aper) %>% 
  mutate(h_geo = fct_other(geo, keep = tuku_geos,other_level = "muut"),
         h_geo = fct_relevel(h_geo, h_geos),
         geo = fct_relevel(geo, rev(h_geos), after = Inf),
         size = !(geo %in% h_geo)) %>% 
  translate(h_geo, geo_trans) %>% 
  translate(vars, c(nulc_aper = "Indeksi", 
                    nulc_aper_rel_imf = "Suhteellinen indeksi")) %>% 
  ggplot(aes(time, values, group = geo, colour = h_geo, size = size)) +
  geom_line() +
  scale_size_manual(values = c(2,1), guide = "none") +
  scale_colour_manual(values = c(geo_col(length(tuku_geos)), "grey75")) +
  the_title_blank(c("x", "l")) +
  scale_y_continuous(limits = c(70,130), expand = expansion(mult = 0, add = 0)) +
  labs(y = "indeksi, 2010 = 100")

save_fig("A_nulc_levels")
vars_rel <- c(nulc_aper_rel_ecfin20 = "omassa valuutassa", nulc_aper_eur_rel_ecfin20 = "samassa valuutassa")

data_main_annual %>% 
  filter(geo == "FI") %>%
  select(geo, time, names(vars_rel)) %>% 
  gather(vars, values, -geo, -time) %>% 
  group_by(geo, vars) %>% 
  mutate(values = rebase(values, time, base_year)) %>% 
  ungroup() %>% 
  translate(vars, vars_rel) %>% 
  ggplot(aes(time, values, color = vars)) +
  geom_line() +
  the_title_blank(c("x", "l")) +
  labs(y = glue("Indeksi, {base_year} = 100")) +
  the_legend_bot()

save_fig("a_nulc_aper_rel")

Vaihtosuhdekorjattu

data_main_annual %>% 
  filter(geo == "FI") %>% 
  select(geo, time, 
         "Vaihtosuhdekorjattu" = nulc_aper_eur_atot_rel_ecfin20, 
        "Normaali" =  nulc_aper_eur_rel_ecfin20) %>% 
  gather(vars, values, -geo, -time) %>% 
  group_by(geo, vars) %>% 
  mutate(values = rebase(values, time, 2010),
         change = 100 * (values / lag(values) -1)) %>% 
  ungroup() %>% 
  gather(type, values, values, change) %>% 
  ggplot(aes(time, values, color = vars)) +
  facet_wrap(~type, scales = "free_y",
             labeller = labeller(type = c(change = "muutos, %", values = "indeksi, 2010 = 100"))) +
  geom_line()+
  the_title_blank(c("x", "l", "y")) +
  geom_hline(aes(yintercept = yint), 
             data = data.frame(yint = 0, type = "change")) +
  labs(y = glue("Indeksi, 2010 = 100")) +
  the_legend_bot() 

 save_fig("A_nulc_a_tot")

Reaalinen

data_main_annual %>% 
  filter(geo != "IE") %>% 
  select(geo, time, rulc_aper) %>% 
  gather(vars, values, rulc_aper) %>% 
  mutate(h_geo = fct_other(geo, keep = h_geos, other_level = "muut"),
         h_geo = fct_relevel(h_geo, h_geos),
         geo = fct_relevel(geo, rev(h_geos), after = Inf),
         size = !(geo %in% h_geo)) %>% 
  translate(h_geo, geo_trans) %>% 
  translate(vars, c(nulc_aper = "Indeksi", 
                    nulc_aper_rel_imf = "Suhteellinen indeksi")) %>% 
  ggplot(aes(time, values, group = geo, colour = h_geo, size = size)) +
  geom_line() +
  scale_size_manual(values = c(2,1), guide = "none") +
  scale_colour_manual(values = geo_col(length(h_geos)+1)) +
  the_title_blank(c("x", "l")) +
  # scale_y_continuous(limits = c(70,130), expand = expansion(mult = 0, add = 0)) +
  labs(y = "indeksi, 2010 = 100")

save_fig("A_rulc_levels")
vars_rel <- c(rulc_aper_rel_ecfin20 = "omassa valuutassa", nulc_aper_rel_ecfin20 = "samassa valuutassa")

data_main_annual %>% 
  filter(geo == "FI") %>%
  select(geo, time, names(vars_rel)) %>% 
  gather(vars, values, -geo, -time) %>% 
  group_by(geo, vars) %>% 
  mutate(values = rebase(values, time, base_year)) %>% 
  ungroup() %>% 
  translate(vars, vars_rel) %>% 
  ggplot(aes(time, values, color = vars)) +
  geom_line() +
  the_title_blank(c("x", "l")) +
  labs(y = glue("Indeksi, {base_year} = 100")) +
  the_legend_bot()

save_fig("a_rulc")
data_main_annual %>% 
  filter(geo == "FI") %>% 
  select(geo, time, 
         "Nimellinen, vaihtosuhdekorjattu, oma valuutta" = nulc_aper_atot_rel_ecfin20, 
        "Reaalinen" =  rulc_aper_rel_ecfin20, 
        "Nimellinen, oma valuutta" = nulc_aper_rel_ecfin20) %>% 
  gather(vars, values, -geo, -time) %>% 
  group_by(geo, vars) %>% 
  mutate(values = 100 *(values / lag(values) -1)) %>% 
  ungroup() %>% 
  ggplot(aes(time, values, color = vars)) +
  geom_line() +
  the_title_blank(c("x", "l")) +
  geom_hline(yintercept = 0) +
   labs(y = glue("%, muutos")) +
  the_legend_bot() +
  guides(color = guide_legend(nrow = 2))

save_fig("2_d_3ulc")
data_main_annual %>%
  filter(geo == "FI") %>% 
  select(geo, time, nulc_aper, nulc_aper_rel_ecfin20, rulc_aper, rulc_aper_rel_ecfin20) %>% 
  gather(vars, values, -geo, -time) %>% 
  separate(vars, into = c("vars", "rel"), sep = "_rel_") %>% 
  mutate(rel = if_else(is.na(rel), "indeksi", "suhteessa")) %>% 
  translate(vars, var_labels_fi, simple = TRUE, parts = 2) %>%
  ggplot(aes(time, values, colour = vars)) +
  geom_line() +
  facet_wrap(~ rel) +
  the_title_blank(c("x", "l")) +
  labs(y = "indeksi, 2010 = 100") +
  the_legend_bot()

save_fig("rulc_comp_total")

Efektiivinen valuuttakurssi

eer_vars <- c(NEER_IC37 = "Nimelliset", REER_IC37_CPI = "Reaalinen, kuluttajahinnat", REER_IC37_ULCT = "Reaalinen, yksikkötyökustannukset")

ert_eff_ic_q %>% 
  filter(geo == "FI" ,
         exch_rt %in% names(eer_vars)) %>% 
  translate(exch_rt, eer_vars) %>% 
  ggplot(aes(time, values, colour = exch_rt)) +
  geom_line() +
  the_legend_bot() +
  the_title_blank(c("x", "l")) +
  guides(colour = guide_legend(nrow = 1)) +
  labs(y = "indeksi, 2010 = 100")

save_fig("EER")
data_quartely_est %>% 
  filter(geo == "FI", time >= "1995-01-01") %>% 
  select(geo, time, nulc_var = nulc_aper_long_rel_ecfin20, gdp_ind_long_rel_ecfin20, exp_ind_long_rel_ecfin20, XPERF) %>% 
  mutate(nulc_var = rebase(1/(nulc_var), time, base_year),
         XPERF = rebase(XPERF, time, base_year)) %>% 
  gather(vars, values, -geo, -time) %>% 
  # mutate(h_geo = fct_other(geo, keep = h_geos,other_level = "muut"),
  #        geo = fct_relevel(geo, h_geos, after = Inf)) %>% 
  # translate(geo, geo_fi) %>% 
  mutate(vars = fct_rev(fct_relevel(vars, "nulc_var"))) %>% 
  translate(vars, c(nulc_var = "Nimellinen suhteellinen yksikkötyökustannus, (oik.)", 
                    gdp_ind_long_rel_ecfin20 = "Suhteellinen BKT",
                    exp_ind_long_rel_ecfin20 = "Suhteellinen vienti", 
                    XPERF = "Vientimenestys, OECD")) %>%
  ggplot(aes(time, values, colour = vars)) +
  geom_line() +
  # facet_wrap(~ geo, scales = "free") +
  scale_size_manual(values = c(2,1)) +
  scale_y_continuous(sec.axis = sec_axis(~ . * -1)) +
  the_title_blank() +
  the_legend_bot() +
  guides(colour = guide_legend(nrow = 2))

save_fig("4_1_nulc_and_outcome")


pttry/ficomp documentation built on June 11, 2024, 9:53 p.m.