(Bing Image Creator で生成: Close up of Daphne odora flowers, background is local area town, photo)
これからしばらくは、都道府県別の人口集中地区の人口密度、県民総所得対前年増加率(実質)、自殺者数のデータの分析をしようと思います。
データは、政府統計の総合窓口(e-stat)から取得します。
47都道府県を選択して、
3つのデータを選択しました。
ダウンロードした CSV ファイルはこんな感じです。
2行目に変数名を挿入しました。
year: 調査年
pref: 地域
mitsudo: 人口集中地区密度(人口集中地区面積1km2当り)【人】
growth: 県民総所得対前年増加率(実質)(平成17年基準)【%】
jisatsu: 自殺者数(人口10万人当たり)【人】
です。
このデータを R で分析します。
まず、tidyverse パッケージを読み込みます。
read_csv() 関数で CSV ファイルのデータを読み込みます。
summary() 関数で各変数の統計値を確認します。
mitsudo, 人口密度は、最小が3179人、最大が12680人、平均は5447人です。
growth, 所得の前年増加率は、最小が-10.2%、最大が9.3% 平均が0.9214%です。
jisatsu, 自殺者数は最小が12人、最大が44.7人、平均が20.67人です。
mitsudo と growth は NA の観測があります。
mitsudo, growth, jisatsu の3つとも揃っている年度があるかどうかみてみましょう。
2005年度と2010年度は3つの変数が揃っています。
mitsudo の最新の年度を確認します。
mitsudo は2000年度から5年ごとにデータがあって、最新は2020年度でした。
growth の最新の年度も確認します。
growth は2002年度から2014年度まで毎年データがあります。
jisatsu も同じようにみてみます。
jisatsu は1975年度から2021年度までのデータが揃っています。
mitsudo の年別の平均値を計算して、グラフにしてみます。
mitsudo は年度でそれほど大きな違いはありませんね。2020年度が他の年度よりも少し低いです。
growth も同じように年別の平均値をグラフにします。
2008年度は大きく落ち込んでます。リーマンショックの影響でしょうかね。
jisatsu も年別の平均値のグラフを描いてみます。
いつごろかはわからないですが、自殺者が多かった時期が2つあります。
今回は以上です。
次回は
です。
今回のコードは以下になります。
#
# tidyverse パッケージを読み込む
library(tidyverse)
#
# CSV ファイルの読み込み
df_raw <- read_csv("mitsudo_growth_jisatsu.csv",
skip = 1)
#
# summary() 関数
summary(df_raw)
#
# mitsudo, growth, jisatsu の3つが揃っている年度は
df_raw |>
na.omit() |>
count(year)
#
# mitsudo の最新年度
df_raw |>
filter(!is.na(mitsudo)) |>
count(year)
#
# growth の最新年度
df_raw |>
filter(!is.na(growth)) |>
count(year)
#
# jisatsu の最新年度
df_raw |>
filter(!is.na(jisatsu)) |>
count(year)
#
df_raw |>
filter(!is.na(jisatsu)) |>
count(year) |>
tail()
#
# mitsudo の年別の平均値のグラフ
df_raw |>
filter(!is.na(mitsudo)) |>
group_by(year) |>
summarize(average_mitsudo = mean(mitsudo)) |>
ggplot(aes(x = year, y = average_mitsudo)) +
geom_col()
#
# growth の年別の平均値のグラフ
df_raw |>
filter(!is.na(growth)) |>
group_by(year) |>
summarize(average_growth = mean(growth)) |>
ggplot(aes(x = year, y = average_growth)) +
geom_col()
#
# jisatsu の年別の平均値のグラフ
df_raw |>
filter(!is.na(jisatsu)) |>
group_by(year) |>
summarize(average_jisatsu = mean(jisatsu)) |>
ggplot(aes(x = year, y = average_jisatsu)) +
geom_col()
#