見出し画像

日曜データサイエンティストのススメ(covid-19のデータ分析)

データサインエンスは誰でも行える時代

以前、このnoteに、

という寄稿をしました。その中で、紹介した「R」ですが、どれくらいの人が興味を持ってくれただろうか?このRとは、多くのデータサイエンティストが使っている統計ソフトで、なんと無料だ。

 日経新聞のデジタル版には、

という、データサイエンティストが参考になる、「データ・ジャーナリズム」のコーナーがあるが、これに似たことは、誰でも行える。

 以前は、データを持っている人が、この世の中の勝者に近づくことが多かった。しかし、デジタル時代の今は、データを人より早く、多く持つことは、それほど優位に働かない。むしろ、データを観察・分析をして、そこからどのような行動アイディアを考えるかが重要だ。

 そして、そのデータの観察・分析は誰でも行えるので、具体的な方法を少し、紹介しよう。

RとRStudioを自分のパソコンにインストールしよう

 まずは、データ分析の環境を整えよう。方法は、簡単だ。自分のパソコンに、RとRStudioをダウンロードして、インストールするだけだ。ソフトへのリンクは、

私のサイトにLinkを貼っておいた。

 自分のパソコンに、ソフトをインストールしたことない方もいるだろう。そんな方は、YouTubeで、「Rのインストール」「RStudioのインストール」などと検索して欲しい。動画で丁寧にインストール方法が確認できるはずだ。

 あとは、RStudioの使い方を少し、学んでから、以下の部分に進んで欲しい。

RStudioでグラフを描く準備

 標準のRの機能でも、多くの分析が可能だが、少し便利な、tidyverseというライブラリーを導入することをお勧めしたい。

そのために、RStudioに

install.packages("tidyverse")

と入力するだけである。無事にインストールされれば、

library(tidyverse)

と入力すると、画面の方から、 ​青い字でlibrary(tidyverse)、返事が出れば、準備完了である。

 動作しているか確認するために、意味不明だと思うが、次のコマンドを入力して、グラフが表示されるか確認してみよう。

ggplot(data = diamonds)+geom_histogram(mapping = aes(x=carat))

これを実行すると、以下のようなグラフが、左の画面に表示されるはずである。

画像1

このグラフは、Rの中に標準で用意されている、ダイヤモンドのデータで、横軸に「カラット」、縦軸に「ダイヤモンドの個数」を数えたものである。グラフがすぐ表示されるが、実際には5万行を超えるデータを集計して、グラフを表示している(データの説明は、The diamonds dataset などを参照ください)。

 これで、準備完了である。そして、このグラフを観察するだけでも、多くのことがわかる。ダイヤモンドは天然石が多いだろうが、なぜかカラッとでは、1,1.5,2カラット付近は、周りより個数が多い。そして、当然大きなダイヤモンド(カラットが大きい)が少なくなる。このような観察は、データサインエンスの入り口である。

 実は、私たちは日常で、データを正しく眺めないことによる、判断ミスが多い。データサインエンスとは、複雑な数学、統計ではなく、正しくデータを眺め、そこから何が起きているのかを考えることが重要なのだ。

東京都が公開しているCovid 19のデータを観察しよう

 では、別なデータを観察してみよう。東京都は、「新型コロナ感染症対策サイト」で、「最新感染動向」に関して、データを公開している。そして、ここで公開されているデータ以外にも、「東京都オープンデータカタログサイト」でも多くのデータを公開している。そのデータの中に、「東京都_新型コロナウイルス陽性患者発表詳細」のデータを使って、以後簡単な分析例を紹介しよう。

 残念ながら、Rは、あまり日本語の取り扱いが上手でない。そこで、上記「東京都_新型コロナウイルス陽性患者発表詳細」から、日本語のデータを取り除いたデータを、私の方で方で用意した。データをダウンロードしてみて欲しい。csv形式でデータが保管されるはずだ。

 このデータを、covid-20210919.csvという名前で、保管し、自分のRのフォルダーにしまって欲しい。自分のフォルダーは、

getwd()

で確認できる。このフォルダーにこのファイルをコピーさせてみよう。

 そして、このデータをRで使えるようにして、簡単なグラフを書いてみよう。

covid <- read.csv("covid-20210919.csv")
ggplot(data = covid) + stat_count(mapping = aes(x=sex))

これを実行すると、東京都で、2020/1/24から、2021/9/19までに公表された感染者の「性」別の感染者数のグラフが表示される。

画像2

 皆さんもよく知っているように、男性(Male)が、女性(Female)の感染者数が多いことがわかる。ところで、年齢別には、どうだろうか?

ggplot(data = covid) + stat_count(mapping = aes(x=age))

と、Rに入力して、作成したグラフが以下である。

画像3

圧倒的に、20歳代(20s)の感染者が多いことがわかる。ところで、これは最近の話ではと思う方もいるだろう。では、20歳代の感染者は、初期段階に少なかったのか、2020年4月と、2021年8月の1ヶ月間の感染者数の年齢別の集計グラフを作成してみよう。

2020年4月

covid202004 <- covid %>% filter(date>="2020/4/1", date<="2020/4/30")
ggplot(data = covid202004) + stat_count(mapping = aes(x=age))

画像4

2021年8月

covid202108 <- covid %>% filter(date>="2021/8/1", date<="2021/8/31")
ggplot(data = covid202108) + stat_count(mapping = aes(x=age))

画像5

 このようにデータを観察すると、高齢者にワクチン接種が進んだ、2021年8月では、20歳代の感染者数が、突出して多くいることがわかるが、初期段階である、2020年4月でも、20最大の感染者数は多いことがわかる。

 このように、データを冷静に観察することが、データサイエンスの基本である。ぜひ、皆さんも、データを観察し、自分の行動のヒントにして欲しい。


もし良ければ、サポートをお願いします。今後の執筆のための、調査費用などに、有効に活用して、記事としてお戻しします。