産業構造・職業構成の変化

概要

国勢調査から,産業構造(就業者の産業別割合)および就業者の職業構成の変化をグラフ化する。

日本標準産業分類の変更に伴い,国勢調査の産業分類が2000年以前と2005年以降で異なるため,データは完全には接続できない。ただし,1995年と2000年については新旧両方の分類のデータが公開されている。ここでは,新旧の分類を統合せず,それぞれについてグラフを作成する。

また,2009年の日本標準職業分類の変更に伴い,データはその前後で完全には接続できない。ただし,1995~2005年については新旧両方の分類のデータが公開されている。ここでは,新旧の分類を統合せず,それぞれについてグラフを作成する。

コードと実行結果

library(tidyverse)
library(estatapi)
library(RColorBrewer)

# e-statのappIDが必要
# 利用申請(無料)をすればだれでも入手できる

# appID = "入手したappIDをここに設定(行頭の#を外す)"

### 産業構造

# 国勢調査・時系列データ・人口の労働力状態,就業者の産業・職業 表番号4 

# 産業(大分類),男女別15歳以上就業者数
# -全国(平成7年~平成27年)※平成19年11月改訂後
industry_latest <-
  estat_getStatsData(
    appId = appID,
    statsDataId = "0003410395",
    cdTab = "2020_44", # 表章項目 == "人口構成比 [産業別]"
    cdCat01From = 120, # 産業分類
    cdCat01To   = 330, #  総数,小計,再掲などを除く
    cdCat02     = 100  # 男女_時系列 == "総数"
  ) |>
  filter(substring(time_code, 9, 10) == "00") |>
  mutate(
    year = as.numeric(time_code) / 1000000,
    industry = `産業大分類2015`
  ) |>
  select(year, industry, value)

#【参考】産業(旧大分類),男女別15歳以上就業者数及び産業別割合
# -全国(大正9年~平成12年)※平成14年3月改訂前
industry_old <- 
  estat_getStatsData(
    appId = appID,
    statsDataId = "0003410396",
    cdTab = "2020_44",      # 表章項目 == "人口構成比 [産業別]"
    cdCat01From = 120, # 産業分類
    cdCat01Tob  = 330, #  総数を除く
    cdCat02     = 100  # 男女_時系列 == "総数"
  ) |>
  filter(cat01_code != 150 & cat01_code != 190) |>  # 小計(第n次産業)を除く
  mutate(
    year = as.numeric(time_code) / 1000000,
    industry = `産業大分類(平成14年3月改訂前)`
  ) |>
  select(year, industry, value)

#### グラフ

clr <- c(brewer.pal(11, "Paired"), brewer.pal(8, "YlOrBr"), "#FFFFFF")

## 1995年以降(新産業分類)

industry_latest |>
  ggplot(
    aes(
      x = year,
      y = value,
      fill = industry
    )
  ) +
  geom_bar(
    stat = "identity", 
    color = "black"
  ) +
  scale_fill_manual(
    name = "産業", 
    values = clr
  ) +
  labs(
    x = "年",
    y = ""
  )

## 2000年以前(旧産業分類)

industry_old |>
  ggplot(
    aes(
      x = year,
      y = value,
      fill = industry
    )
  ) +
  geom_bar(
    stat = "identity",
    color = "black"
  ) +
  scale_fill_manual(
    name = "産業", 
    values = clr
  ) +
  labs(
    x = "年",
    y = ""
  ) 

### 職業構造

# 国勢調査・時系列データ・人口の労働力状態,就業者の産業・職業 表番号7

# 職業(大分類),男女別15歳以上就業者数-全国(平成7年~平成27年)
occupation_latest <-
  estat_getStatsData(
    appId = appID,
    statsDataId = "0003410408",
    cdTab = "2020_45",      # 表章項目 == "人口構成比 [職業別]"
    cdCat01From = 110, # 職業分類
    cdCat01To   = 220, # 
    cdCat02     = 100  # 男女_時系列 == "総数")
  ) |>
  filter(substring(time_code, 9, 10) == "00") |>
  mutate(
    year = as.numeric(time_code) / 1000000,
    occupation = `職業大分類2015`
  ) |>
  select(year, occupation, value)

# 【参考】職業(旧大分類),男女別15歳以上就業者数及び産業別割合
# -全国(昭和25年~平成17年)※平成21年12月改訂前
occupation_old <- 
  estat_getStatsData(
    appId = appID, 
    statsDataId = "0003410409",
    cdTab = "2020_45",      # 表章項目 == "割合"
    cdCat01From = 110, # 職業分類
    cdCat01To   = 200, # 
    cdCat02     = 100  # 男女_時系列 == "総数")
  ) |>
  mutate(
    year = as.numeric(time_code) / 1000000,
    occupation = `職業大分類(旧大分類H21改定前)`
  ) |>
  select(year, occupation, value)


#### グラフ

clr <- c(brewer.pal(7, "Accent"), brewer.pal(4, "YlOrRd"), "#FFFFFF")

## 1995年以降(新職業分類)

occupation_latest |>
  ggplot(
    aes(
      x = year,
      y = value,
      fill = occupation
    )
  ) +
  geom_bar(
    stat = "identity",
    color = "black"
  ) +
  scale_fill_manual(
    name = "職業",
    values = clr
  ) +
  labs(
    x = "年", 
    y = ""
  )

## 1990年以前(旧職業分類)

occupation_old |>
  ggplot(
    aes(
      x = year, 
      y = value, 
      fill = occupation
    )
  ) +
  geom_bar(
    stat = "identity",
    color = "black"
  ) +
  scale_fill_manual(
    name = "職業", 
    values = clr
  ) +
  labs(
    x = "年", 
    y = ""
  )