crosshyou

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

都道府県別のNHKのコロナ感染者データの分析1 - 大阪の人口当たりのコロナ死亡者数はダントツに多い。

f:id:cross_hyou:20220108180942j:plain

Photo by Hans Isaacson on Unsplash

今日(2022-01-08)、図書館に行って週刊誌「サンデー毎日」をパラパラと紙面をめくって眺め読みしていたら、大阪府の人口当たりのコロナ死者数がダントツに高い、という記事が目に入りました。そこで、今回はNHKのデータをもとに都道府県別のコロナ感染者データを分析してみようと思います。

まず、

www3.nhk.or.jp

https://www3.nhk.or.jp/news/special/coronavirus/data/

にアクセスしました。下の画像のようなサイトにアクセスします。

f:id:cross_hyou:20220108181411p:plain

この「データのダウンロードはこちら」をクリックすると、

f:id:cross_hyou:20220108181603p:plain

このようなCSVファイルがダウンロードできました。

2行目は私が変数名として挿入しました。

これをRに読み込んで分析してみます。

やりたいことは、

都道府県別の人口当たりの死者数、感染者数を出して大阪府が人口当たりの死者数がダントツであることを確認して、そのダントツ度合いが統計的に有意なのかどうか、

を調べることです。

早速、Rにデータを読み込ませます。read.csv()関数を使いました。

f:id:cross_hyou:20220108182442p:plain

str()関数でうまく読み込まれているかどうか確認します。

f:id:cross_hyou:20220108182718p:plain

dateは日付のデータなのですが文字列として読み込まれています。あとで日付型に変換します。

codeは都道府県の番号で、北海道が1と北から順番についているようです。

prefは都道府県名なのですが、文字化けしてしまいました。あとで削除します。

caseは毎日の感染者数です。

case_cumは累計の感染者数です。

deathは毎日の死亡者数です。

death_cumは累計の死亡者数です。

case_ratioは直近1週間の人口10万人当たりの感染者数です。

まず、prefを削除してしまいます。

f:id:cross_hyou:20220108184803p:plain

dateを日付型に直します。

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

f:id:cross_hyou:20220108185218p:plain

luburidateパッケージの読み込みもします。

f:id:cross_hyou:20220108185544p:plain

ymd()関数で、2020/1/16という文字列を日付型に変換できます。

f:id:cross_hyou:20220108185642p:plain

はい。うまく変換できました。

f:id:cross_hyou:20220108190413p:plain

こういうファイルを作りました。これをRに読み込ませます。

f:id:cross_hyou:20220108190715p:plain

このeng_nameというデータフレームをdfというもともとのデータフレームとをinner_join()関数を使って合体させます。

f:id:cross_hyou:20220108200148p:plain

都道府県別の人口も必要ですね。

政府統計の総合窓口、e-statのウェブページから都道府県別の人口のデータを取得しました。

f:id:cross_hyou:20220108200838p:plain

こんなファイルにしました。このファイルを読み込んで同じように合体します。

f:id:cross_hyou:20220108201313p:plain

これで、準備は整いました。

dfのサマリーを見てみましょう。

f:id:cross_hyou:20220108201529p:plain

case_ratioのNAを0に変換しましょう。

f:id:cross_hyou:20220108201813p:plain

人口100万人当たりの感染者数、人口100万人当たりの死亡者数を表す変数を作成します。

f:id:cross_hyou:20220108202118p:plain

各都道府県の最新日付だけのデータフレームを作ります。

f:id:cross_hyou:20220108202406p:plain

さあ、人口100万人当たりの死亡者数をプロットしてみましょう!

f:id:cross_hyou:20220108202927p:plain

f:id:cross_hyou:20220108202958p:plain

おお!大阪がサンデー毎日の記事のとおり、人口当たりの死亡者数は一番多いですね。300人を超えている水準です。

これが偶然ではなく、統計的に有意なほどの多さなのかをカイ二乗検定で調べてみます。

まず、大阪の死亡者数、人口、大阪を除いた死亡者数、人口を算出します。

f:id:cross_hyou:20220108204709p:plain

大阪のコロナ死亡者数は3,064人、人口は8,809,000人です。

大阪を除いたコロナ死亡者数は、15,328人、人口は117,358,000人です。

この4つの数値でマトリックスを作ります。

f:id:cross_hyou:20220108205345p:plain

chisq.test()関数でカイ二乗検定をします。

f:id:cross_hyou:20220108205538p:plain

p-valueは2.2e-16より小さいです。つまり大阪のコロナ死亡者数の多さは統計的に有意な多さですね。

今回は以上です。

次回は

 

www.crosshyou.info

です。