crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

全国主要都市の交通事故と犯罪発生件数のデータ分析1 - R言語でデータを読み込む。

今回は全国主要都市の交通事故と犯罪発生件数のデータ分析をしてみようと思います。

政府統計の総合窓口(www.e-stat-go.jp)からデータをダウンロードしました。

f:id:cross_hyou:20201129173932p:plain

対象は、特別区(東京23区のことです)、県庁所在市、政令指定都市、中核市です。

105の地域があります。

f:id:cross_hyou:20201129174038p:plain

データは、人口10万人当りの交通事故発生件数と、人口千人当りの刑法犯認知件数です。

f:id:cross_hyou:20201129174150p:plain

ウェブサイト上ではこのように表示されます。

f:id:cross_hyou:20201129174223p:plain

データをダウンロードすると、このようなCSVファイルです。

9行目は私が変数名にしようと思って挿入した行です。

このCSVファイルをR言語のread.csv関数で読み込みます。

f:id:cross_hyou:20201129174749p:plain

str関数でデータが正常に読み込まれているか確認してみます。

f:id:cross_hyou:20201129175027p:plain

うまく読み込まれました。

このstr関数の結果を見て、やりたいことが2つ浮かびました。

ひとつは、yearを2005, 2006, 2007のように数値型のデータにすることと、

もうひとつは、cityを都道府県名と市名に分割することです。

yearを数字型にしましょう。はじめの4文字だけにしてから、数値型にします。

substr関数ではじめの4文字にして、as.numeric関数で数値型にします。

f:id:cross_hyou:20201129175557p:plain

str関数で確認しました。numとなっていますので、数値型になっていることがわかります。

次は、cityを都道府県名と都市名に分割します。strsplit関数を使います。

f:id:cross_hyou:20201129200245p:plain

chimei_listはどうなっているかというと、

f:id:cross_hyou:20201129200415p:plain

このようにリストになっています。

f:id:cross_hyou:20201129200724p:plain

f:id:cross_hyou:20201129200908p:plain

for関数を使って、都道府県名のベクトル、都市名のベクトルを作ります。

f:id:cross_hyou:20201129201039p:plain

f:id:cross_hyou:20201129201057p:plain

そして、dfにこうして作成したベクトルを付け足し、置換します。

f:id:cross_hyou:20201129201208p:plain

str関数で確認してみます。

f:id:cross_hyou:20201129201321p:plain

いい感じですね。

前に作成した、地域区分のデータも読み込みます。

f:id:cross_hyou:20201129201706p:plain

prefの変数名がヘンですね。prefに修正します。

f:id:cross_hyou:20201129201848p:plain

このchiiki_kubunのデータをdfに結合します。

まず、tidyverseパッケージを読み込みます。

f:id:cross_hyou:20201129202112p:plain

inner_join関数で結合します。

f:id:cross_hyou:20201129202321p:plain

select関数で変数を並び替えましょう。

f:id:cross_hyou:20201129202618p:plain

na.omit関数でNAの行を削除します。

f:id:cross_hyou:20201129202736p:plain

文字列型の変数をファクター型に変換します。

f:id:cross_hyou:20201129203258p:plain

attrが何かあります。必要ないので、削除します。

f:id:cross_hyou:20201129204126p:plain

prefは47都道府県、cityは105都市、regionは8地域、eastjapanは2(東日本、西日本)、japanpacificは3(日本海側、太平洋側、その他)あります。

これで分析のためのデータフレーム、dfが完成しました。

今回は以上です。