今回は全国主要都市の交通事故と犯罪発生件数のデータ分析をしてみようと思います。
政府統計の総合窓口(www.e-stat-go.jp)からデータをダウンロードしました。
対象は、特別区(東京23区のことです)、県庁所在市、政令指定都市、中核市です。
105の地域があります。
データは、人口10万人当りの交通事故発生件数と、人口千人当りの刑法犯認知件数です。
ウェブサイト上ではこのように表示されます。
データをダウンロードすると、このようなCSVファイルです。
9行目は私が変数名にしようと思って挿入した行です。
このCSVファイルをR言語のread.csv関数で読み込みます。
str関数でデータが正常に読み込まれているか確認してみます。
うまく読み込まれました。
このstr関数の結果を見て、やりたいことが2つ浮かびました。
ひとつは、yearを2005, 2006, 2007のように数値型のデータにすることと、
もうひとつは、cityを都道府県名と市名に分割することです。
yearを数字型にしましょう。はじめの4文字だけにしてから、数値型にします。
substr関数ではじめの4文字にして、as.numeric関数で数値型にします。
str関数で確認しました。numとなっていますので、数値型になっていることがわかります。
次は、cityを都道府県名と都市名に分割します。strsplit関数を使います。
chimei_listはどうなっているかというと、
このようにリストになっています。
for関数を使って、都道府県名のベクトル、都市名のベクトルを作ります。
そして、dfにこうして作成したベクトルを付け足し、置換します。
str関数で確認してみます。
いい感じですね。
前に作成した、地域区分のデータも読み込みます。
prefの変数名がヘンですね。prefに修正します。
このchiiki_kubunのデータをdfに結合します。
まず、tidyverseパッケージを読み込みます。
inner_join関数で結合します。
select関数で変数を並び替えましょう。
na.omit関数でNAの行を削除します。
文字列型の変数をファクター型に変換します。
attrが何かあります。必要ないので、削除します。
prefは47都道府県、cityは105都市、regionは8地域、eastjapanは2(東日本、西日本)、japanpacificは3(日本海側、太平洋側、その他)あります。
これで分析のためのデータフレーム、dfが完成しました。
今回は以上です。