新型コロナウイルスのデータを使った情報の可視化 - 基礎編

日本国内の新型コロナウイルス (COVID-19) 感染状況追跡ダッシュボードを運営する、COVID19Japan.comが、Google Sheetsに日本の新型コロナウイルスの感染者数と死亡者数の情報をまとめて、公開しました。

  • COVID19Japan.com Data - Link

また、そのままでは使いづらい部分もあるので、わたしたちの方で少し加工したデータをこちらからダウンロードして利用することも可能です。

こういったデータを実際に自分の手を動かして可視化してみたり、分析してみたりすることは非常に大事なことです。

これから上記データの可視化の方法をいくつか紹介しますが、全てのチャートはExploratoryというツール利用しています。(注:筆者はExploratoryで働いています。)

Exploratoryは学生や教師の方には無料でご利用いただけます。またパブリックな利用であれば、どなたでも無料で利用可能です。

  • Exploratory - Link

なぜ自分の手を動かすことが重要なのか?

それは不必要に恐怖をあおるようなニュースが世の中に溢れているからです。我々が本当に気にすべきは日本や世界の状況の進展についてで、本当に恐れるべきことは恐怖にとらわれて、思考を止めてしまうことです。

そして今こそがデータを使って可能な限り客観的に、世界で何が起こっているのかを理解するときなのです。

ただ「言うは易く行うは難し」です。

いざ実際にデータにアクセスして、Exploratoryでデータを可視化しようとすると、いくつかのことで、混乱してしまうかもしれません。

そこで以下にいくつかのヒントを用意したので、紹介させていただきます。

  • データをリモートファイルとしてインポートする
  • データについて
  • 累積の感染者をラインチャートで可視化する
  • ステップ・フィルターを利用してデータを絞る
  • 横向きのバーチャートを作成して、値をチャート上に表示する

それでは早速始めていきましょう。

データを「ローカル」ではなく、「リモート」ファイルとしてインポートする

Exploratoryにデータをインポートするとき、データを直接パソコンにダウンロードしてローカル・ファイルとしてインポートすることも可能ですが、リモート・ファイルとしてExploratoryに直接データをインポートすることも可能です。

リモート・ファイルの利用には2つの利点があります。

1つ目はCOVID19Japan.comが、毎日データを更新しているということです。こういったタイプのデータはインポートしたデータの中身を日々更新して、常に最新のものを利用したいはずです。

こういったときにリモート・ファイルとしてデータをインポートしておけば、データの「再インポート」ボタンをクリックするだけで、常に最新のデータに更新しておくことが可能となります。

このときデータ・ソース(exploratory.io)からExploratoryに最新のデータが直接インポートされるだけでなく、後述するデータの加工・整形のステップがすべて自動で実行され、チャートの内容も最新のものにアップデートしてくれます。

2つ目はチャート、ダッシュボード、ノートなどをExploratory のクラウドサーバー(exploratory.io)に公開して、データの更新をスケジュールすることができるということです。

なおスケジュールを設定するには、Exploratoryのサーバーから「リモートファイル」にアクセスできる必要があります。

では、早速「リモート・ファイル」としてデータをインポートする方法を紹介します。

データフレーム・メニューから「ファイルデータ」を選択します。

続いてリモート・タブをクリックして、「テキストファイル (CSV等の区切りファイル)」を選択します。

続いて以下のURLをコピーして貼り付けます。

https://exploratory.io/public/api/GMq1Qom5tS/by-covid19japan-com-WTq0qPP6lD/data?api_key=eYb5HIs0yxOhV3qdU8Ludnz7ZLC2zN

データがインポートできたら、以下のようにデータのサマリ情報が確認できます。

データについて

データの可視化や分析にあたっては、各行がどのような意味をもっているデータなのかを理解することがとても重要です。

今回のデータは、各行が感染した「人」を表しており、その人の感染が発表された日付であったり、年齢の年代や、性別、感染が確認された都道府県、現在の状態についての情報があります。

ラインチャートで感染者の累計数を可視化する

データのインポートが終わったので、可視化していきましょう。

まずは、日ごとの累計での感染者数を可視化するためにラインチャートを作成していきます。

前述したように、データはすでに人ごとに蓄積されているので、まずは「発表日(Date_Announced)」の列をX軸に、「(行の数)」をY軸に選択します。

ここで気をつけなければいけないことが一つあります。それは今回のデータは1行が一人の感染者を表しているだけなので、作成したチャートは累計での感染者数になっていないということです。

累計数を可視化するためには感染者の数を日ごとに足し上げていく必要があるわけです。

そこでY軸メニューから表計算を選択します。

続いて計算のタイプに「累計」、値の集計方法に「合計(sum)」を選択します。

これで日ごとの感染者の累計数が可視化できました。

都道府県ごとに感染者の累計数を可視化する

これで日本全体での感染者の累計数が可視化できましたが、このチャートを都道府県別に見たいこともあるかと思います。

そういったときは、色(グループ化)に「感染が確認された都道県(Detected_Prefecture)」を選択します。

Othersグループ

すると感染者が多い「Othersグループ」が生成されていることが分かります。この「Othersグループ」は、一意の値が20よりも多い列を色(グループ化)に割り当てると自動的に生成されます。

今回のデータには、46の都道府県(検疫港を含む)が含まれており、26の都道府県が「Othersグループ」にまとめられているわけです。

では「Othersグループ」はどのように作られるのでしょうか。

デフォルトでの設定では、最も頻度の高い順に20の値を残して、その他のすべて値を「Othersグループ」にまとめます。

「Othersグループ」を無効にして、代わりにすべての都道府県を表示してみましょう。 「Frequency 20(46)」と書かれた緑色のテキストをクリックします。

続いてタイプに「(なし)」を選択し、適用します。

少し凡例の数が多くなってしまいましたが、全ての都道府県の情報を可視化できました。

なおブランチ集計上位N行を残すといった機能を使って、最新日での感染者数が多い都道府県に凡例を絞ることも可能です。

ステップでデータをフィルタする

さて、ラインチャートを見ると2月16日までは、ほぼ感染者数に動きがなく、その後、劇的に感染者数が上昇していることに気づきます。

そういったときは2月16日以降のデータだけを残すようにフィルターをかけることができます。

そしてデータをフィルタする方法は2つあります。1つはステップレベル・フィルタと呼ばれるもので、もう1つはチャートレベル・フィルタと呼ばれるものです。

チャートレベルフィルタは、今見ているチャートのデータだけを手っ取り早くフィルタしたいときに便利です。

ただ、例えばいくつかのチャートを作成するときに、すべてのチャートに同じフィルタをかけたい場合、一つ一つのチャートに同じフィルタを設定するのは面倒です。

そんな時に使えるのが「ステップレベル・フィルタ」です。右側に「フィルタ」ステップを追加することで、複数のチャートでフィルタされたデータを参照できるようになります。

実際に試してみましょう。

「発表日(Date_Announced)」のカラムヘッダーメニューから「フィルタ」を選択します。

続いて「以後」、「日付(例 2017-10-15)」をサブメニューから選択します。

するとフィルタ・ダイアログが表示されるので値に「2020-02-16」と入力します。

するとステップ領域に新しいステップが追加されます。

このステップが2月16日以降のデータにフィルタするためのステップです。

ただし先程のチャートに戻っても、引き続き2月16日より前のデータが残っていることが分かります。これは先程作成したステップより前のステップに、チャートが「ピン」されているためです。

フィルタした後のデータで可視化するためにはピンを選択して、二番目のステップにピンをドラッグします。

ピンが正しく設定でたら、2月16日以降のデータのみが表示されるはずです。

都道府県ごとの感染者数

次は都道府県別に感染者数を比較していきましょう。

そういったときは以下のように X軸に「感染が確認された都道県(Detected_Prefecture)」、Y軸に「(行の数)」を選択し、感染者数を表す「Y1軸」でソートします。

すると東京には1000名以上の感染者がいることが分かります。

Y軸のタイトルを変更する

一方でこのチャートを初めてみた人には、Y軸が何を表しているか、分かりづらいということがあります。

そういったときにはY軸のタイトルの変更が可能です。チャートのプロパティを開き、タイトルのテキストに「感染者数」と入力し、適用します。

これで誰が見てもY軸が感染者数を表していることが分かるようになりました。

チャートを横向きにする

また、このチャートをもっと見やすくしようと考えたときに、都道府県の名称が長く、縦の表示のままだと読みづらいという問題があります。

そういったときにはチャートの向きを横向きに変更することが可能です。

チャート上に値を表示する

バーチャート上でマウスを動かすと、各々の都道府県における感染者数の具体的な人数が分かりますが、値をバーの横に表示して、あなた(またはあなたの聴衆)がすぐに数字を確認できるようにしたい場合もあるかと思います。

そういったときは、チャート・プロパティを開き、「値をプロット上に表示」から「上」を選択することで値を常に表示させておくことが可能です。

読みやすくするために、フォントサイズの調整を調整することをおすすめします。

このときX軸の都道府県のフォントサイズを調整しないと、一部の都道府県の表記が省略されてしまうので、忘れないようにしましょう。

大分見やすいチャートになってきました。

感染者が多い上位30の都道府県のみを表示する

ただ、今のままでは都道府県の数が多すぎて読みづらいということがあります。そうったいときは「表示する値の制限」機能を利用することで表示する都道府県の数を制限することができます。

例えば、感染者数の上位30の都道府県のみを表示したい場合を考えてみましょう。

X軸メニューから「表示する値の制限」を選択します。

表示する値の制限ダイアログで、タイプに「上位」、結果の数を「30」にします。そして現在のY軸に選択されている列である「(行の数)」で上位30に制限できるように基になる列はデフォルト設定の「現在のY1軸の列」のままにしておきます。

これで感染者の多い上位30の都道府県のみ表示することができました。

色を変更する

ここまで来たら、最後のステップです!色を変えてみましょう。

色(グループ化)のメニューから「色の設定」を選択します。

あらかじめ定義されたカラーパレットを選択するか、「カスタム」を選択して、独自のカラーパレットを利用することもできます。

今回は「カラーパレット10」を選択し、以下のようなチャートができました。

以上で、このチュートリアルは終了です。


実際のデータを使ってチャートを作成する

まだExploratoryのアカウントをお持ちでない方は、こちらからサインアップいただくと、クレジットカードの登録をすることなく、30日間無料でExploratoryをお試しいただけます!

もしあなたが学生や教師の方であれば無料での利用が可能です。さらに、もし作成したものが公開されてしまうことを気にしない場合は、Exploratoryのパブリック版(無料)にサインアップすることも可能です!