Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の交通事故発生件数のデータの分析1 - R にデータを取り込む

Bing Image Creator で生成: Close up Crassula ovata flowers, background is plain green grass field under blue sky, photo

今回からしばらくは、都道府県別の人口密度と交通事故発生件数のデータを分析してみようと思います。

政府統計の総合窓口(www.e-stat.go.jp)からデータを取得します。

可住地面積1平方キロメートル人口密度と人口10万人当たりの交通事故発生件数をデータとして選択しました。前回の分析でも使った老年化指数も選択しました。

CSVファイルにこのような形式でデータをダウンロードできました。

5行目に変数名を挿入しています。

mitsudo: 可住地面積1平方キロメートル当たり人口密度【人】

elder: 老年化指数(65歳以上人口/15歳未満人口を指数化)

jiko: 人口10万人当たり交通事故発生件数【件】

です。

tidyverse パッケージの読み込みをします。

read_csv() 関数でCSVファイルのデータを読み込みます。

glimpse() 関数を使って読み込んだデータの内容を確認します。

na.omit() 関数を使って、NAのある行を削除します。

summary() 関数を使って各変数の基本統計値を確認します。

year, pref の Length が2256ということは、このデータフレームは2256行のデータフレームです。

人口密度は、1番低いところで、1平方キロメートル当たり226人、1番高いところで9873人です。

老年化指数は、一番若いところで、19.1、一番老年のところで417.4です。

人口10万人当たりの交通事故発生件数は、一番少ないところで109.8件、多いところで1328.3件です。

summary() 関数では計算されてない、標準偏差と変動係数を算出します。

変動係数は、標準偏差 / 平均値 で計算します。

人口密度が一番バラツキが大きく、交通事故が一番バラツキが小さいことがわかります。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

今回のコードは以下になります。

#
# tidyverse パッケージの読み込み
library(tidyverse)
#
# CSVファイルの読み込み
df_raw <- read_csv("koutsuujiko.csv",
                   skip = 4)
#
# glimpse()
glimpse(df_raw)
#
# NA行の削除
df <- na.omit(df_raw)
#
# summary()
summary(df)
#
# 標準偏差と変動係数
df |> 
  summarize(
    std_mitsudo = sd(mitsudo),
    std_elder = sd(elder),
    std_jiko = sd(jiko),
    cv_mitsudo = sd(mitsudo) / mean(mitsudo),
    cv_elder = sd(elder) / mean(elder),
    cv_jiko = sd(jiko) / mean(jiko)
  )
#