労働力調査の長期時系列データから,失業率の推移をグラフ化する。

パッケージの読込み

コード
library(tidyverse)
library(readxl)
library(RColorBrewer)

# グラフのテーマ
theme_set(theme_classic(base_family = "IPAexGothic", base_size = 16))

データの読込みと整理

コード
# 失業率(月次) 季節調整値
# 労働力調査 基本集計 全都道府県 長期時系列データ 季節調整値 表番号1-a-9
download.file(
  "https://www.e-stat.go.jp/stat-search/file-download?statInfId=000031831365&fileKind=0",
  destfile = "files/unemployment.xlsx",
  method = "curl"
)

labor_unemployment <-
  read_excel("files/unemployment.xlsx",
    sheet = "季節調整値", range = "E71:L677", col_names = F
  )
labor_unemployment <-
  rename(labor_unemployment,
    total = ...1, a15_64 = ...2, a15_24 = ...3, a25_34 = ...4, a35_44 = ...5,
    a45_54 = ...6, a55_64 = ...7, a65over = ...8
  ) |>
  filter(!is.na(total))

# 1975-01 ~ 2025-07までの日付作成

for (i in 1975:2025) {

  if (i == 2025){
    tmp <- paste(i, "-", seq(1:7), "-01", sep = "")
  } else{
    tmp <- paste(i, "-", seq(1:12), "-01", sep = "")
  }

  if (i == 1975) {
    month <- tmp
  } else {
    month <- c(month, tmp)
  }

}

month <- month[seq_len(nrow(labor_unemployment))]

# 日付と失業率の結合,必要なデータを残してlong形式に

unemployment <- cbind(month, labor_unemployment) |>
  mutate(month = as.Date(month)) |>
  select(month, total, a15_24, a25_34, a35_44, a45_54) |>
  pivot_longer(-month)

労働力調査の長期時系列データは,現在のところe-statのAPIでは入手できないので,Excelファイルをダウンロードして用いる。データのフォーマットは単純で頻繁に変更されることはないと思うが,変更された場合にはコードも変更する必要がある。

直近の推移

コード
### 直近のグラフ

graph_unemployment_recent <- unemployment |>
  filter(month >= "2019-01-01") |>
  ggplot(aes(x = month, y = value, color = name)) +
  geom_line() +
  geom_point(size = 1) +
  scale_color_manual(
    values = c(brewer.pal(4, "Pastel1"), "black"),
    name = "年齢階級",
    labels = c(
      a15_24 = "15〜24歳",
      a25_34 = "25〜34歳",
      a35_44 = "35〜44歳",
      a45_54 = "45〜54歳",
      total  = "年齢計"
    )
  ) +
  scale_x_date(
    breaks = seq.Date(
      from = as.Date("2019-01-01"),
      to = as.Date("2025-01-01"),
      by = "12 months"
    ),
    date_labels = "%Y"
  ) +
  labs(x = "", y = "失業率")

plot(graph_unemployment_recent)

まずは,2019年以降の推移を見てみよう。Covid-19の影響で,2020年には失業率が3%台まで上昇したが,その後は2%台半ばで推移している。下で見るように,バブル崩壊後は失業率が5%を超えることもあったので,それと比較すればCovid-19による失業率の上昇は大きくなかったことがわかる。

長期の推移

コード
### 長期のグラフ

graph_unemployment_longtime <- unemployment |>
  ggplot(aes(x = month, y = value, color = name)) +
  geom_line() +
  scale_color_manual(
    values = c(brewer.pal(4, "Pastel1"), "black"),
    name = "年齢階級",
    labels = c(
      a15_24 = "15〜24歳",
      a25_34 = "25〜34歳",
      a35_44 = "35〜44歳",
      a45_54 = "45〜54歳",
      total  = "年齢計"
    )
  ) +
  labs(x = "", y = "失業率")

plot(graph_unemployment_longtime)

1970年代からの長期的な失業率の推移も見てみよう。1990年代後半から2000年代にかけては失業率が5%を上回ることもあった。この時期は「就職氷河期」として知られている。この時期に学校を卒業して就職することになった世代はロスト・ジェネレーションといわれ,その後景気が回復した後も雇用の状況が改善せず,いまだに一度も正規の職に就いたことない人も少なくない。