knitr::opts_chunk$set(
<<<<<<< HEAD:vignettes/pendelointi.Rmd
  collapse = TRUE,
  comment = "#>",
  fig.path = "fig_pendelointi/",
  fig.width = 18,
  fig.height = 10
=======
  fig.path = "fig_pendelointi/"
>>>>>>> b63e37969fe45f9433900acf631e3407fd42204a:analyysit/Pendelointi/pendelointi.Rmd
)

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

<<<<<<< HEAD:vignettes/pendelointi.Rmd
devtools::load_all()

set_ptt(28)
theme_update(plot.subtitle = element_text(colour = "grey30", size = 18), 
             plot.title = element_text(colour = "grey30", size = 40),
             plot.margin = margin(0.5, 0.5, 3, 0.5),
             legend.spacing = unit(24, "pt"))

update_geom_defaults("line", list(size = 3))
=======
devtools::load_all() 
set_proj()
>>>>>>> b63e37969fe45f9433900acf631e3407fd42204a:analyysit/Pendelointi/pendelointi.Rmd

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")

data("dat_matkat_aluokka")

# 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 = "%")

<<<<<<< HEAD:vignettes/pendelointi.Rmd
# ggsave("pend_atyyppi.png", height = 6, width = 12)  
=======
# ggsave("fig/pend_atyyppi.png", height = 6, width = 12)  
>>>>>>> b63e37969fe45f9433900acf631e3407fd42204a:analyysit/Pendelointi/pendelointi.Rmd
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) 
<<<<<<< HEAD:vignettes/pendelointi.Rmd
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() %>%
  filter(amma_val != "Muut") %>% 
  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")


  # ggsave("pend_amma_val.png", height = 6, width = 16) 
=======
>>>>>>> b63e37969fe45f9433900acf631e3407fd42204a:analyysit/Pendelointi/pendelointi.Rmd
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) 

Työmatkat kaupunki-maaseutuluokituksella

Ruutuaineistosta laskettu

dat_matkat_aluokka %>% 
  gather(vars, values, tyomatka_asuin, tyomatka_tyo) %>% 
  mutate(vars = fct_recode(vars,
                           "Asuinpaikan mukaan" = "tyomatka_asuin", 
                           "Työpaikan mukaan" = "tyomatka_tyo")) %>% 
  ggplot(aes(time, values, colour = aluokka)) +
  facet_wrap(~ vars) +
  geom_line() +
  geom_h0() +
  scale_colour_manual(values = atyyppi_colour) +
  scale_x_continuous(labels = no_century) +
  labs(title = "Keskimääräiset työmatkat",
       subtitle = "Ruutuaineistosta kaupunki-maaseutuluokituksella",
       caption = "© YKR / SYKE ja TK 2018",
       y = "km") +
  the_title_blank(c("x", "l"))


# ggsave("matkat.png", height = 8, width = 16)


pttry/KT162R documentation built on Nov. 27, 2022, 3:52 a.m.