出生数と合計特殊出生率の推移

人口動態調査を使って,1899年からの出生数の推移と,戦後の合計特殊出生率のグラフを描く。出生数のデータは戦時中を除いて1800年代の後半から入手できるので,関心があれば期間を広げてグラフを作成することもできる。

パッケージの読込みとグラフの設定

コード
library(tidyverse)
library(estatapi)
library(patchwork)

# e-statのappIDが必要
#   以下のページで利用申請(無料)をすればだれでも入手できる
#   https://www.e-stat.go.jp/api/
# appID = "入手したappIDをここに設定(行頭の#を外す)"

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

データの読込みと整理

コード
# e-Statからデータ取得
estat_vital <- estat_getStatsData(
  appId = appID,
  statsDataId = "0003411595", # 人口動態調査・人口動態統計・確定数・出生・4−1・上巻
  cdCat01 = c("00100", "00150")
)

vital <- estat_vital |>
  mutate(
    year = as.numeric(time_code) / 1000000,
    name = `出生数・出生率・出生性比`
  ) |>
  select(year, name, value) |>
  filter(year >= 1947) |>
  pivot_wider(names_from = name)

人口動態調査については,e-statのAPIで入手できる。

出生数と合計特殊出生率の推移

コード
# 出生数のグラフ

birth <- vital |>
  ggplot(
    aes(
      x = year,
      y = `出生数_総数`
    )
  ) +
  geom_bar(
    stat = "identity",
    color = "gray",
    fill = "lightgray"
  ) +
  geom_text(
    aes(
      label = paste(
        format(`出生数_総数`, big.mark = ","),
        "\n (", year, ")",
        sep = ""
      )
    ),
    nudge_y = 50000,
    color = "red",
    size = 3,
    data = subset(vital, year %in% c(1949, 1966, 1989, 2005, 2023))
  ) +
  labs(
    x = "",
    y = "出生数"
  ) +
  scale_y_continuous(
    labels = scales::label_comma(),
    limits = c(0, 3500000)
  ) +
  theme_classic()

# 合計特殊出生率のグラフ

tfr <- vital |>
  ggplot(
    aes(
      x = year,
      y = `合計特殊出生率`
    )
  ) +
  geom_line(color = "gray") +
  geom_point(
    size = 1,
    color = "blue"
  ) +
  ylim(0.5, 5) +
  geom_text(
    aes(
      label = paste(`合計特殊出生率`, "\n (", year, ")", sep = "")
    ),
    nudge_y = -0.4,
    color = "red",
    size = 3,
    data = subset(vital, year %in% c(1947, 1966, 1989, 2005, 2023))
  ) +
  labs(
    x = "年",
    y = "合計特殊出生率"
  ) +
  theme_classic()

# patchworkパッケージを使ったプロット

graph <- birth + tfr + plot_layout(ncol = 1)
plot(graph)

戦後の数年間は1年あたりの出生数が250万件を上回り,合計特殊出生率も4.5を超えるベビーブームであった。この時期に生まれた世代のことを「団塊の世代」という。その後,1960年にかけて出生数,合計特殊出生率は低下したが,1960年代後半から70年代前半にかけては再び出生数が増加する。実は,この時期には合計特殊出生率はほとんど変化しておらず,出生数の増加は団塊の世代が子どもをもうける年代になったことが要因である。

1966年に注目すると,出生数も合計特殊出生率も,その前後の年に比べて著しく低下している。これは,1966年が60年に1度巡ってくる丙午の年であったことが影響している。日本では」丙午に生まれた女性は気性が荒く結婚相手の寿命を縮める」という迷信がある。もちろん,これは科学的根拠のない差別的な迷信であるが,それでもデータから人々は1966年に子どもをもうけることを避けたことがうかがえる。

1966年の合計特殊出生率は1.58であったが,これは迷信による一時的な低下であり,実際次の年に合計特殊出生率は2.23に回復した。しかし,その後合計特殊出生率は緩やかに低下し,1989年にはついに丙午の年の1.58を下回る1.57となった。このことは,1.57ショックといわれ,日本の少子化問題がより強く意識されるようになるきっかけとなった。