knitr::opts_chunk$set(
  fig.path = "fig_pendelointi/"
)

library(tidyverse)
library(ggptt)
library(RColorBrewer)
library(glue)

devtools::load_all() 
set_proj()

atyyppi_colour <- c(brewer.pal(6, "Oranges")[6:4], brewer.pal(6, "Blues")[6:5] , brewer.pal(6, "Greens")[6:5])
data("dat_lahtopendelointi_tyyppi", "dat_tulopendelointi_tyyppi", "dat_tulopendelointi", "dat_muutto_aikasarja_km")

# grep("valinen_muutto", unique(dat_muutto_aikasarja_km$tiedot), value = TRUE)

liikkuvuus_tiedot <-
  c(
    "Kuntien_Pendelöinti" = "kuntien_valinen_pendelointi",
    "Seutukuntien_Pendelöinti" = "seutukuntien_valinen_pendelointi",
    "Maakuntien_Pendelöinti" = "maakuntien_valinen_pendelointi",
    # "Aluetyyppien_Pendelöinti" = "aluetyyppien_valinen_pendelointi",
    "Työmarkkina-alueiden_Pendelöinti" = "LMA_valinen_pendelointi",
    "Kuntien_Muutto" = "kuntien_valinen_muutto",
    "Seutukuntien_Muutto" = "seutukuntien_valinen_muutto",
    "Maakuntien_Muutto" = "maakuntien_valinen_muutto",
    # "Aluetyyppien_Muutto" = "aluetyyppien_valinen_muutto",
    "Työmarkkina-alueiden_Muutto" = "LMA_valinen_muutto"
  )



dat_muutto_aikasarja_km %>% 
  filter(tiedot %in% liikkuvuus_tiedot) %>% 
  mutate(tiedot = fct_recode(tiedot, !!!liikkuvuus_tiedot)) %>%
  separate(tiedot, c("alue", "vars"), "_") %>% 
  mutate(alue = fct_reorder(alue, value, .desc = TRUE)) %>% 
  ggplot(aes(time, value, colour = alue)) +
  facet_wrap(~ vars, scales = "free") +
  geom_line() +
  geom_h0() +
  scale_y_continuous(labels = scales::number) +
  scale_x_continuous(breaks = scales::pretty_breaks()) +
  the_legend_bot() +
  the_title_blank(c("x", "y", "l")) +
  labs(title = "Muuttoja ja pendelöintejä alueiden välillä",
       caption = "Lähde: Tilastokeskus, PTT")
dat_muutto_aikasarja_km %>% 
  filter(tiedot %in% liikkuvuus_tiedot) %>% 
  mutate(tiedot = fct_recode(tiedot, !!!liikkuvuus_tiedot)) %>%
  separate(tiedot, c("alue", "vars"), "_") %>% 
  left_join(
    spread(
      filter(dat_muutto_aikasarja_km, tiedot %in% c("asukkaat", "tyolliset")), 
      tiedot, value), 
    by = "time") %>% 
  mutate(alue = fct_reorder(alue, value, .desc = TRUE),
         osuus = 100 * if_else(vars == "Muutto", value / asukkaat, value / tyolliset)) %>% 
    ggplot(aes(time, osuus, colour = alue)) +
  facet_wrap(~ vars, scales = "free") +
  geom_line() +
  geom_h0() +
  scale_y_continuous(labels = scales::number) +
  scale_x_continuous(breaks = scales::pretty_breaks()) +
  the_legend_bot() +
  the_title_blank(c("x", "y", "l")) +
  labs(title = "Muuttoja ja pendelöintejä alueiden välillä",
       caption = "Lähde: Tilastokeskus, PTT")

Pendelöivien osuus kunnassa työssäkäyvistä

time_range <- range(dat_tulopendelointi$time)

dat_tulopendelointi_tyyppi %>% 
  filter(koulutusaste == "Yhteensä",
         ika == "Yhteensä") %>% 
  select(-ika, -koulutusaste) %>% 
    mutate(aluetyyppi = fct_recode(aluetyyppi,
                               'Muu maaseutu' = "Ydinmaaseutu",
                               'Muu maaseutu' = "Harvaan asuttu maaseutu"),
       aluetyyppi = ggptt::line_wrap(aluetyyppi, 25)) %>% 
  group_by(time, aluetyyppi, pendelointi) %>% 
  summarise_all(sum) %>% 
  ungroup() %>% 
  mutate(pendelointi = fct_recode(pendelointi, 
                                  kaikki = "Yhteensä",
                                  asuinkunnassa = "Asuinkunnassaan työssäkäyvät",
                                  pendeloivat = "Alueelle pendelöivät")) %>% 
  spread(pendelointi, values) %>% 
  mutate(values = 100 * pendeloivat / kaikki) %>% 
  ggplot(aes(time, values, colour = aluetyyppi)) +
  geom_line() +
  scale_colour_manual(values = atyyppi_colour) +
  the_title_blank(c("x", "l")) +
  labs(subtitle = glue("Muissa kunnissa asuvien osuus kunnassa työssäkäyvistä keskimäärin alueilla",
                       " vuosina {time_range[1]}-{time_range[2]}."),
       title = "Muista kunnista työssäkäyvien osuus",
       caption = "Lähde: PTT, Tilastokeskus",
       y = "%")

# ggsave("fig/pend_atyyppi.png", height = 6, width = 12)  
dat_tulopendelointi_tyyppi %>% 
  filter(koulutusaste == "Yhteensä",
         ika == "Yhteensä") %>% 
  mutate(pendelointi = fct_recode(pendelointi, 
                                  kaikki = "Yhteensä",
                                  asuinkunnassa = "Asuinkunnassaan työssäkäyvät",
                                  pendeloivat = "Alueelle pendelöivät")) %>% 
  spread(pendelointi, values) %>% 
  mutate(values = pendeloivat) %>% 
  ggplot(aes(time, values, colour = aluetyyppi)) +
  geom_line()
dat_tyossakaynti_aste <- 
  dat_tulopendelointi %>% 
  filter(koulutusaste == "Yhteensä",
         ika == "Yhteensä",
         pendelointi == "Yhteensä") %>% 
  select(- koulutusaste, - ika, - pendelointi) %>% 
  rename(alue = tyopaikan_alue, tyossakayvat = values) %>% 
  left_join(dat_kuntien_vakiluvut, by = c("alue", "time")) %>% 
  mutate(tyossakaynti_aste = tyossakayvat/vaki_15_64)

dat_tyossakaynti_aste %>% 
  mutate(alue2 = fct_other(alue, keep = c("KOKO MAA", "Helsinki")),
         alue = fct_relevel(alue, c("KOKO MAA", "Helsinki"), after = Inf)) %>% 
  ggplot(aes(time, tyossakaynti_aste, group = alue, colour = alue2)) +
  geom_line(alpha = 0.5)
dat_tyossakaynti_aste_tyyppi <- 
  aluetyyppi %>% 
  rename(alue = kunta) %>% 
  left_join(dat_tyossakaynti_aste, by = "alue") %>% 
  group_by(time, aluetyyppi) %>% 
  summarise_if(is.numeric, sum) %>% 
  ungroup() %>% 
  mutate(tyossakaynti_aste = tyossakayvat/vaki_15_64)

dat_tyossakaynti_aste_tyyppi %>% 
  ggplot(aes(time, tyossakaynti_aste, colour = aluetyyppi)) +
  geom_line()
dat_sum_amma3 %>% 
  filter(!is.na(amma3),
         !(aluetyyppi == aluetyyppi_tp)) %>% 
  ggplot(aes(time, N, colour = aluetyyppi_tp)) +
  facet_grid(amma3 ~ aluetyyppi) +
  geom_line()
dat_sum_amma3 %>% 
  group_by(time, aluetyyppi_tp, amma3) %>% 
  summarise(pend_osuus = sum(N[!(aluetyyppi == aluetyyppi_tp)]) / sum(N)) %>% 
  ungroup() %>% 
  ggplot(aes(time, pend_osuus, colour = aluetyyppi_tp)) +
  facet_wrap(~ amma3) +
  geom_line()
dat_sum_amma3 %>% 
  group_by(time, aluetyyppi_tp, amma3) %>% 
  summarise(pend_osuus = 100 * sum(N[!(aluetyyppi == aluetyyppi_tp)]) / sum(N)) %>% 
  group_by(aluetyyppi_tp, amma3) %>% 
  summarise(pend_osuus_muutos = (pend_osuus[time == max(time)] - pend_osuus[time == 2000])) %>% 
  ungroup() %>% 
  filter(!(amma3 %in% c("sotilaat", NA))) %>% 
  ggplot(aes(aluetyyppi_tp, pend_osuus_muutos)) +
  facet_wrap(~ amma3) +
  geom_col()
dat_sum_amma3 %>% 
  mutate(amma3 = replace_na(as.character(amma3), "Muut")) %>% 
  mutate(amma_val = fct_recode(amma3, 
                               'Erityisasiantuntijat' = "erityisasiantuntijat",
                               'Asiantuntijat' = "asiantuntijat",
                               'Valmistus ja prosessi' = "korj & valm tt",
                               'Valmistus ja prosessi' = "pros tt",
                               'Toimisto ja myynti' =  "tsto & aspal tt",
                               'Toimisto ja myynti' =  "pal, myynti & hoito tt",
                               'Rakennus' = "rakennus tt"),
         amma_val = fct_other(amma_val, keep = c('Erityisasiantuntijat', 'Asiantuntijat', 
                                                 'Valmistus ja prosessi', 'Toimisto ja myynti', 'Rakennus'), 
                              other_level = "Muut"),
         aluetyyppi_tp = fct_rev(aluetyyppi_tp)) %>% 
  group_by(time, aluetyyppi, aluetyyppi_tp, amma_val) %>% 
  summarise(N = sum(N)) %>% 
  group_by(time, aluetyyppi_tp, amma_val) %>% 
  summarise(pend_osuus = 100 * sum(N[!(aluetyyppi == aluetyyppi_tp)], na.rm = TRUE) / sum(N, na.rm = TRUE)) %>% 
  group_by(aluetyyppi_tp, amma_val) %>% 
  summarise(pend_osuus_muutos = (pend_osuus[time == max(time)] - pend_osuus[time == 2000])) %>% 
  ungroup() %>% 
  ggplot(aes(aluetyyppi_tp, pend_osuus_muutos)) +
  facet_wrap(~ amma_val, nrow = 1) +
  geom_col() +
  geom_hline(yintercept = 0) +
  coord_flip() +
  labs(y = "%-yksikköä", x = NULL, 
          title = "Muista kunnista työssäkäyvien osuuden muutos 2000-2015 ammateittain alueilla keskimäärin")


  # ggsave("pend_amma_val.png", height = 6, width = 16) 
dat_sum_amma3 %>% 
  mutate(amma3 = replace_na(as.character(amma3), "Muut")) %>% 
  mutate(amma_val = fct_recode(amma3, 
                               'Erityisasiantuntijat' = "erityisasiantuntijat",
                               'Asiantuntijat' = "asiantuntijat",
                               'Valmistus ja prosessi' = "korj & valm tt",
                               'Valmistus ja prosessi' = "pros tt",
                               'Toimisto ja myynti' =  "tsto & aspal tt",
                               'Toimisto ja myynti' =  "pal, myynti & hoito tt",
                               'Rakennus' = "rakennus tt"),
         amma_val = fct_other(amma_val, keep = c('Erityisasiantuntijat', 'Asiantuntijat', 
                                                 'Valmistus ja prosessi', 'Toimisto ja myynti', 'Rakennus'), 
                              other_level = "Muut"),
         aluetyyppi_tp = fct_rev(aluetyyppi_tp)) %>% 
  group_by(time, aluetyyppi_tp, amma_val) %>% 
  summarise(N = sum(N)) %>% 
  ungroup() %>% 
  ggplot(aes(time, N, colour = aluetyyppi_tp)) +
  facet_wrap(~ amma_val, scales = "free")+
  geom_line() +
  geom_hline(yintercept = 0) 


pttry/KT162R documentation built on Jan. 28, 2020, 1:16 a.m.