Photo by Hans Isaacson on Unsplash
今日(2022-01-08)、図書館に行って週刊誌「サンデー毎日」をパラパラと紙面をめくって眺め読みしていたら、大阪府の人口当たりのコロナ死者数がダントツに高い、という記事が目に入りました。そこで、今回はNHKのデータをもとに都道府県別のコロナ感染者データを分析してみようと思います。
まず、
https://www3.nhk.or.jp/news/special/coronavirus/data/
にアクセスしました。下の画像のようなサイトにアクセスします。
この「データのダウンロードはこちら」をクリックすると、
このようなCSVファイルがダウンロードできました。
2行目は私が変数名として挿入しました。
これをRに読み込んで分析してみます。
やりたいことは、
都道府県別の人口当たりの死者数、感染者数を出して大阪府が人口当たりの死者数がダントツであることを確認して、そのダントツ度合いが統計的に有意なのかどうか、
を調べることです。
早速、Rにデータを読み込ませます。read.csv()関数を使いました。
str()関数でうまく読み込まれているかどうか確認します。
dateは日付のデータなのですが文字列として読み込まれています。あとで日付型に変換します。
codeは都道府県の番号で、北海道が1と北から順番についているようです。
prefは都道府県名なのですが、文字化けしてしまいました。あとで削除します。
caseは毎日の感染者数です。
case_cumは累計の感染者数です。
deathは毎日の死亡者数です。
death_cumは累計の死亡者数です。
case_ratioは直近1週間の人口10万人当たりの感染者数です。
まず、prefを削除してしまいます。
dateを日付型に直します。
まず、tidyverseパッケージの読み込みをします。
luburidateパッケージの読み込みもします。
ymd()関数で、2020/1/16という文字列を日付型に変換できます。
はい。うまく変換できました。
こういうファイルを作りました。これをRに読み込ませます。
このeng_nameというデータフレームをdfというもともとのデータフレームとをinner_join()関数を使って合体させます。
都道府県別の人口も必要ですね。
政府統計の総合窓口、e-statのウェブページから都道府県別の人口のデータを取得しました。
こんなファイルにしました。このファイルを読み込んで同じように合体します。
これで、準備は整いました。
dfのサマリーを見てみましょう。
case_ratioのNAを0に変換しましょう。
人口100万人当たりの感染者数、人口100万人当たりの死亡者数を表す変数を作成します。
各都道府県の最新日付だけのデータフレームを作ります。
さあ、人口100万人当たりの死亡者数をプロットしてみましょう!
おお!大阪がサンデー毎日の記事のとおり、人口当たりの死亡者数は一番多いですね。300人を超えている水準です。
これが偶然ではなく、統計的に有意なほどの多さなのかをカイ二乗検定で調べてみます。
まず、大阪の死亡者数、人口、大阪を除いた死亡者数、人口を算出します。
大阪のコロナ死亡者数は3,064人、人口は8,809,000人です。
大阪を除いたコロナ死亡者数は、15,328人、人口は117,358,000人です。
この4つの数値でマトリックスを作ります。
chisq.test()関数でカイ二乗検定をします。
p-valueは2.2e-16より小さいです。つまり大阪のコロナ死亡者数の多さは統計的に有意な多さですね。
今回は以上です。
次回は
です。