knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)

library(tidyr)
library(ggplot2)
library(ggptt)
library(RColorBrewer)

devtools::load_all()
set_gg(theme_ptt(), "ptt")

set_ptt()
theme_update(plot.subtitle = element_text(colour = "grey50", size = 9))

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

data(dat_kokonaismuutto, dat_muuttotiedot_kunnittain)

Muuttojen absoluuttinen määrä Suomessa 1990 - 2017

ggplot(dat_kokonaismuutto, aes(x = vuosi, y = muuttoja, col = muuton_tyyppi)) +
  geom_line() +
  theme(legend.title = element_blank()) +
  ylab("Muuttoja") +
  xlab(NULL) +
  theme(legend.position = "bottom", legend.justification = "left") +
  scale_y_continuous(labels = deci_comma,
                     breaks = scales::pretty_breaks(n = 6)) +
  scale_x_continuous(breaks = scales::pretty_breaks(n = 6)) +
  scale_color_discrete(labels = c("Maakuntien väliset muutot",
                                  "Seutukuntien väliset muutot",
                                  "Kuntien väliset muutot",
                                  "Kuntien sisäiset muutot")) +
  theme(legend.text = element_text(size = 8))

Muuttojen määrä suhteessa väkilukuun Suomessa 1990 - 2017

ggplot(dat_kokonaismuutto, aes(x = vuosi, y = muuttoaste, col = muuton_tyyppi)) +
  geom_line() +
  theme(legend.title = element_blank()) +
  ylab("Muuttoaste") + 
  xlab(NULL) +
  theme(legend.position = "bottom", legend.justification = "left") +
  scale_x_continuous(breaks = scales::pretty_breaks(n = 6)) +
  scale_color_discrete(labels = c("Maakuntien väliset muutot",
                                  "Seutukuntien väliset muutot",
                                  "Kuntien väliset muutot",
                                  "Kuntien sisäiset muutot")) +
  theme(legend.text = element_text(size = 8))

Nettomuuttokertymät seutukunnittain. Kunkin seutukunnan vuosittaisten nettomuuttojen summa vuosilta 1990-2017

# Hae data
  data(dat_muuttotiedot_kunnittain)
  nettomuutto_data <- filter(dat_muuttotiedot_kunnittain, Tiedot == "nettomuutto")

nettomuutto_data %>% group_by(seutukunta) %>%
  summarize(nettomuutto = sum(values)) %>%
  ggplot(aes(x = reorder(seutukunta, nettomuutto), y = nettomuutto)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  xlab(NULL) +
  ylab("Nettomuutto") 
# +
#   scale_y_continuous(limits = c(-50000, 140000), labels = deci_comma)

Väestönmuutosvaikutukset maakunnittain, seutukunnittain ja kunnittain

data(dat_muuttotiedot_kunnittain)

nettomuutto_data <- filter(dat_muuttotiedot_kunnittain, Tiedot == "nettomuutto")


kunnittaiset_vaestomuutosvaikutukset <- nettomuutto_data %>% filter(values > 0) %>%
  group_by(Vuosi) %>%
  summarize(vaestonmuutosvaikutus = sum(values))

seutukunnittaiset_vaestomuutosvaikutukset <- nettomuutto_data %>%
  group_by(seutukunta, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  filter(nettomuutto > 0) %>%
  ungroup() %>%
  group_by(Vuosi) %>%
  summarize(vaestonmuutosvaikutus = sum(nettomuutto))

maakunnittaiset_vaestomuutosvaikutukset <- nettomuutto_data %>%
  group_by(maakunta, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  filter(nettomuutto > 0) %>%
  ungroup() %>%
  group_by(Vuosi) %>%
  summarize(vaestonmuutosvaikutus = sum(nettomuutto))

vaestomuutosvaikutukset <- bind_rows(Kunnittaiset = kunnittaiset_vaestomuutosvaikutukset,
                                 Seutukunnittaiset = seutukunnittaiset_vaestomuutosvaikutukset,
                                 Maakunnittaiset = maakunnittaiset_vaestomuutosvaikutukset,
                                 .id = "tyyppi")


vaestomuutosvaikutukset %>% ggplot(aes(x = Vuosi, y = vaestonmuutosvaikutus, color = tyyppi)) +
  geom_line() +
  theme_ptt() +
  theme(legend.position = "bottom", legend.justification = "left") +
  theme(legend.title = element_blank()) +
  scale_colour_manual(values = ggptt_palettes$ptt[1:3]) +
  ylab("Väestönsiirtymävaikutus") +
  scale_x_continuous(breaks = scales::pretty_breaks(n = 6))

Väestonmuutosvaikutukset aluetyypeittäin

Nettomuutot aluetyypeittäin, viiva

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(aluetyyppi, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuutto, color = aluetyyppi)) +
  geom_line() +
  geom_hline(yintercept = 0, color = "grey", size = 1) +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  labs(x = NULL,
       y = "Nettomuuttoja",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuutot",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain")

Nettomuutot kuntaryhmittäin, viiva

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(kuntaryhma, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuutto, color = kuntaryhma)) +
  geom_line() +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  labs(x = NULL,
       y = "Nettomuuttoja",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuutot",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain")

Nettomuutot aluetyypeittäin, palkki

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(aluetyyppi, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuutto, fill = aluetyyppi)) +
  geom_bar(stat = "identity", position = "stack")  +
  scale_colour_manual(values = atyyppi_colour) +
  geom_hline(yintercept = 0, color = "grey", size = 1) +
  theme(legend.title = element_blank()) +
  labs(x = NULL,
       y = "Nettomuuttoja",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuutot",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain")

Nettomuutot kuntaryhmittäin, palkki

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(kuntaryhma, Vuosi) %>%
  summarize(nettomuutto = sum(values)) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuutto, fill = kuntaryhma)) +
  geom_bar(stat = "identity", position = "stack")  +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  labs(x = NULL,
       y = "Nettomuuttoja",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuutot",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain")

Nettomuuttoasteet aluetyypeittäin, viiva

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(aluetyyppi, Vuosi) %>%
  summarize(nettomuutto = sum(values),
            vakea = sum(vakiluku)) %>%
  mutate(nettomuuttoaste = nettomuutto / vakea) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuuttoaste, color = aluetyyppi)) +
  geom_line()  +
  scale_colour_manual(values = atyyppi_colour) +
  geom_hline(yintercept = 0, color = "grey", size = 1) +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = deci_comma) +
  labs(x = NULL,
       y = "Nettomuuttoaste",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuuttoasteet",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain suhteessa asukaslukuun")

Nettomuuttoasteet kuntaryhmittäin, viiva

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(kuntaryhma, Vuosi) %>%
  summarize(nettomuutto = sum(values),
            vakea = sum(vakiluku)) %>%
  mutate(nettomuuttoaste = nettomuutto / vakea) %>%
  ungroup() %>% 
  ggplot(aes(x = Vuosi, y = nettomuuttoaste, color = kuntaryhma)) +
  geom_line() +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = deci_comma) +
  labs(x = NULL,
       y = "Nettomuuttoaste",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuuttoasteet",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain suhteessa asukaslukuun")

Nettomuuttoasteet aluetyypeittäin, palkki

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(aluetyyppi, Vuosi) %>%
  summarize(nettomuutto = sum(values),
            vakea = sum(vakiluku)) %>%
  mutate(nettomuuttoaste = nettomuutto / vakea) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuuttoaste, fill = aluetyyppi)) +
  geom_bar(stat = "identity", position = "stack") +
  geom_hline(yintercept = 0, color = "grey", size = 1) +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = deci_comma) +
  labs(x = NULL,
       y = "Nettomuuttoaste",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuuttoasteet",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain suhteessa asukaslukuun")

Nettomuuttoasteet kuntaryhmittäin, palkki

dat_muuttotiedot_kunnittain %>%
  filter(Tiedot == "nettomuutto") %>%
  group_by(kuntaryhma, Vuosi) %>%
  summarize(nettomuutto = sum(values),
            vakea = sum(vakiluku)) %>%
  mutate(nettomuuttoaste = nettomuutto / vakea) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = nettomuuttoaste, fill = kuntaryhma)) +
  geom_bar(stat = "identity", position = "stack") +
  scale_colour_manual(values = atyyppi_colour) +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = deci_comma) +
  labs(x = NULL,
       y = "Nettomuuttoaste",
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Nettomuuttoasteet",
       subtitle = "Tulo- ja lähtömuuttojen erotus vuosittain suhteessa asukaslukuun")

Lähto- ja tulomuutot aluetyypeittäin

# Muuta lähtömuuttojen arvot negatiivisiksi
dat_muuttotiedot_kunnittain_mod <- filter(dat_muuttotiedot_kunnittain, Tiedot %in% c("tulomuutto", "lahtomuutto"))
dat_muuttotiedot_kunnittain_mod$values[dat_muuttotiedot_kunnittain_mod$Tiedot == "lahtomuutto"] <-
  -dat_muuttotiedot_kunnittain_mod$values[dat_muuttotiedot_kunnittain_mod$Tiedot == "lahtomuutto"]

dat_muuttotiedot_kunnittain_mod %>%
  group_by(aluetyyppi, Vuosi, Tiedot) %>%
  summarize(muuttoja = sum(values)) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = muuttoja, fill = Tiedot)) +
  geom_bar(stat = "identity", position = "stack") +
  facet_wrap(~aluetyyppi) +
  scale_y_continuous(labels  = deci_comma) +
  theme(legend.title = element_blank()) +
  scale_fill_manual(labels = c("Lähtömuutto", "Tulomuutto"),
                    values = c(ggptt_palettes$ptt[3], ggptt_palettes$ptt[1])) +
  labs(y = "Muuttoja",
       x = NULL,
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Tulo- ja lähtömuuttoasteet",
       subtitle = "Tulo- ja lähtömuutot vuosittain")

Lähtö- ja tulomuuttoasteet aluetyypeittäin

dat_muuttotiedot_kunnittain_mod <- filter(dat_muuttotiedot_kunnittain, Tiedot %in% c("tulomuutto", "lahtomuutto"))
dat_muuttotiedot_kunnittain_mod$values[dat_muuttotiedot_kunnittain_mod$Tiedot == "lahtomuutto"] <-
  -dat_muuttotiedot_kunnittain_mod$values[dat_muuttotiedot_kunnittain_mod$Tiedot == "lahtomuutto"]

dat_muuttotiedot_kunnittain_mod %>%
  group_by(aluetyyppi, Vuosi, Tiedot) %>%
  summarize(muuttoja = sum(values),
            vakea = sum(vakiluku)) %>%
  mutate(muuttoaste = muuttoja/vakea) %>%
  ungroup() %>%
  ggplot(aes(x = Vuosi, y = muuttoaste, fill = Tiedot)) +
  geom_bar(stat = "identity", position = "stack") +
  facet_wrap(~aluetyyppi) +
  scale_y_continuous(labels  = deci_comma) +
  theme(legend.title = element_blank()) +
  scale_fill_manual(labels = c("Lähtömuutto", "Tulomuutto"),
                    values = c(ggptt_palettes$ptt[3], ggptt_palettes$ptt[1])) +
  labs(y = "Muuttoaste",
       x = NULL,
       caption = "Lähde: PTT, Tilastokeskus",
       title = "Tulo- ja lähtömuuttoasteet",
       subtitle = "Tulo- ja lähtömuutot vuosittain suhteessa väkilukuun")


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