5 COVID-19と政策対応
COVID-19は感染症専門の研究者にとどまらず、すべての研究者にとって大きな関心の的です. COVID-19に対するデータソースとしては次の2つがよく知られています.1はCOVID-19の感染者数,入院者数,死亡者数等の基本的な情報を提供しています.2はくわえて各国の政策対応に関する情報も提供しています.現在はいずれのサイトも両方の情報を統合したデータを提供しています.
RコミュニティにおいてもCOVID-19の分析に資することを目的とした以下のようなパッケージが開発されています.
なかでも応用経済学者Joachim Gassen氏によって開発されたtidycovidはcovid-19データをダウンロードし、整理し、ビジュアル化するための有益なパッケージです.これはデータパッケージですが、その優れた点はCovid-19データだけではなく、各種の政策データ、人々の移動データ,さらにすでに紹介した世界銀行のデータも提供されています。くわえてダウンロードしたさまざまなデータをマージする機能も提供されています.
5.1 tidycovidを利用する
5.1.1 tidycovidのインストール
GitHub等に保存されたパッケージをインストールするためにはremotesパッケージをインストールしておく必要があります。一度、組み込むだけですので、コンソール画面で実行しても良いでしょう。
続けてremotesを利用し、tidycovid19をインストールします.
5.1.2 tidycovidの関数とデータのダウンロード方法
具体的には、このパッケージには、データをダウンロードするための以下の関数が用意されています.
- download_jhu_csse_covid19_data():
- ジョンズ・ホプキンス大学CSSEのGithub RepoからCovid-19データをダウンロードします.同データは、新型コロナウイルスの世界的な広がりを評価することに関心のある研究者やメディアにとって標準的なリソースです.
- download_ecdc_covid19_data():
- 欧州疾病予防管理センターが提供するCovid-19の症例データをダウンロードします.このデータは毎週更新され、週ごと、国ごとに報告された新しいCovid-19症例数に関する最新の公開データが含まれています。
- download_owid_data():
- Our World in Dataチームが収集したデータをダウンロードします。このチームは、入院、検査、予防接種に関するデータを複数の国の情報源から体系的に収集しています。
- download_acaps_npi_data():
- Assessment Capacities Project (ACAPS)が提供するGovernment measures(政府政策)データセットをダウンロードします,これらのデータにより研究者は医薬品以外の介入が新型コロナウイルスの発生に与える影響を研究することができます.
- download_oxford_npi_data():
- 政府の介入に関する代替データソースであるOxford Covid-19 Government Response Trackerからデータをダウンロードできます.
- download_apple_mtr_data():
- Appleが提供するCovid-19関連のMobility Trends Reportをダウンロードします.
- download_google_cmr_data():
- Google COVID-19 Community Mobility Reportsのデータをダウンロードします.Googleは国別、地域別のデータを含むCSVファイルを提供しています.このデータは、国、地域、米国の郡レベルで利用可能です。
- download_google_trends_data():
- コロナウイルス」という言葉の検索数に関する Google トレンドデータをダウンロードします.このデータを使って国ごとに、また国の中での時系列でCovid-19に対する世間の注目度を評価することができます.このデータは国、地域、都市レベルで利用可能ですが、Google Trendsは検索ボリュームの多い地域にのみ、より詳細なデータを提供しているため、利用可能なデータは国によって異なります。
- download_wbank_data(): download_wbank_data():
wbstats
パッケージを使用し,世界銀行が提供する国レベルの情報をダウンロードします.これらのデータを使用して、マクロ経済変数と新型コロナウイルスとの関連性を評価することができます.
- download_merged_data():
- Covid-19関連に関連したデータを含むすべてのデータソースをダウンロードし、マージされた国別データフレームを作成します.
すべての利用可能な、結合されたデータセットがdownload_merged_data()関数によって取得できます.
download_merged_data()
の使い方は以下のようになります.
download_merged_data(
wbank_vars = ,
wbank_labels = ,
search_term = "coronavirus",
silent = FALSE,
cached = FALSE
)
関数download_merged_data()
がとる引数は以下のようになります.
- wbank_vars = : 取得しようとする世界銀行データの変数名、つまり2.2で紹介した世界銀行のindicator名を入力します.
- wbank_labels = :世界銀行の変数名により詳しい名前を与えます.
- search_term = : Google Trendsの検索語を指定.デフォルトは”coronavirus”に設定されています.
- silent = : コンソールにステータスメッセージを表示するかどうかを指定.ダウンロードには時間がかかるとき,メッセージ情報は有用であるかもしれません.したがってデフォルトではTRUEに設定されています
- cached = : オリジナルなソースからデータを取得するのではなく、tidycovid19のGithubリポジトリからキャッシュ版をダウンロードするかどうかを指定します.キャッシュされたバージョンをダウンロードする方が高速ですし、キャッシュは毎日更新されます.デフォルトはFALSEです.
それではこの関数を使ってCovid-19データと関連数データをダウンロードしてみましょう.ここでは結果をmergedDataと名前を付けたオブジェクトに容れます.
mergedData <- download_merged_data(
wbank_vars = c("SP.POP.TOTL", "AG.LND.TOTL.K2", "EN.POP.DNST", "EN.URB.LCTY",
"SP.DYN.LE00.IN", "NY.GDP.PCAP.KD"),
wbank_labels = c("population", "land_area_skm", "pop_density", "pop_largest_city",
"life_expectancy", "gdp_capita"),
search_term = "coronavirus",
silent = FALSE,
cached = TRUE)
このデータフレームは123,396行の観察値と40の変数を持ちます.
それぞれの変数はこの簡易ラベルでも理解できるかもしれませんが、正確に理解するのは難しいと思います.データフレームtidycovid19_variable_defintions は、download_merged_data()でマージされたデータフレームに含まれる各変数の定義を含んでいます.
データフレームtidycovid19_variable_defintionsは
- var_name 変数名
- var_source 変数の出所
- var_def 変数の定義
の3つ含んでいます.var_nameとvar_defを表示させてみましょう.これによってそれぞれの変数の意味を理解することができます.
この一覧表によって download_merged_data()によってダウンロードした変数の定義が分かります.以下で利用するいくつかの変数に注目すると
|変数名|変数の説明| |: — :|: —| |confirmed|Confirmed Covid-19 cases (accumulated)| |deaths|Covid-19-related deaths(accumulated)| |lockdown|Number of lockdown measures|
、confirmedはConfirmed Covid-19 cases as reported by JHU CSSE (accumulated)
から理解されるように、確認感染者数(累積数)でることが分かります.
具体例としてこの関数を使ってダウンロードしたデータmergedDataをもとに新型コロナウィルスの4つのグラフを描き、日本の感染状況を観察してみましょう.
- 新規感染者の推移
- 政府の政策措置後の感染者推移
- 死者数の拡大の可視化
- アジア諸国の感染者数のマップ
jpn <- mergedData %>%
filter(iso3c == "JPN") %>%
mutate(
new_cases = confirmed - lag(confirmed),
) %>%
filter(!is.na(new_cases), !is.na(ave_new_cases))
ggplot(data = jpn, mapping = aes(x = date))+
geom_bar(aes(y = new_cases), stat = "identity")+
labs(
x = NULL, y = NULL
)+
theme_bw()

Wu T, Hu E, Ge X, Yu G. 2021. nCov2019: an R package for studying the COVID-19 coronavirus pandemic. PeerJ 9:e11421 https://doi.org/10.7717/peerj.11421↩︎