# appliedepidata パッケージの最新版をインストールする
pak::pak("appliedepi/appliedepidata")2 ハンドブックとデータのダウンロード
2.1 オフライン版のダウンロード
このハンドブックをダウンロードすれば、インターネットに接続していなくても読むことができます。各言語は、サイト全体を収めた zip ファイルです。すべての章、すべての画像、ナビゲーションのサイドバーが含まれます。
- お使いの言語の zip ファイルをダウンロードし、展開してください。
- 展開したフォルダの
index.htmlを開くと読み始められます。 - 接続を失う前に必要な R パッケージを入れるには、推奨するパッケージ のページをご覧ください。
ハンドブックをダウンロードする:
zip ファイルは自動的に作り直されるので、常にハンドブックの最新版に追随します。
2.2 サンプルデータのダウンロード
ハンドブックの各章を実際に手を動かしながら読み進めるために、コンパニオン R パッケージ appliedepidata を使って、サンプルデータを直接 R に読み込むことができます。このパッケージには、本ハンドブックで使用するすべてのサンプルデータセットが含まれています。
パッケージのインストール
appliedepidata は CRAN にはないため、pak を使って Github リポジトリ からインストールしてください。
データセットを直接読み込む
get_data() にデータセットの name = を指定すると、そのデータセットを直接 R に読み込めます。ダウンロードもファイルパスも import() も不要です。この関数はデータセットを R のオブジェクト(データフレーム、sf オブジェクト、phylo ツリーなど、データセットに応じたもの)として返します。
# 前処理済みのラインリストを直接 R に読み込む
linelist <- appliedepidata::get_data(name = "linelist_cleaned_rds")サンプルデータを使用する各章では、その章に必要な get_data(name = "...") の呼び出しを、データを最初に使う箇所に示しています。
データセットをファイルとして保存する
一部の章では、R のオブジェクトではなくファイル(Excel ブックやファイルの入ったフォルダなど)の読み込み方を扱います。その場合は save_data() に name = と path = を指定し、実際のファイルを任意のフォルダに書き出してください。
# 「加工前の」ラインリストの Excel ファイルを作業ディレクトリに書き出す
appliedepidata::save_data(name = "case_linelists_linelist_raw", path = getwd())その後は、パソコン上の他のファイルと同じように import() で読み込めます。詳しくは データのインポートとエクスポート の章をご覧ください。なお save_data() は、.zip として配布されているデータセット(複数ファイルからなるシェープファイルや、ファイルの入ったフォルダなど)を自動では展開しません。保存した .zip に対して utils::unzip() を実行してください。
利用できるデータを調べる
-
appliedepidata::search_data()は対話的な Shiny アプリを起動し、パッケージ内のすべてのデータセットを言語やキーワードで絞り込み・検索できます。 -
appliedepidata::list_data()は、すべてのデータセット名を列挙したデータフレームを返します。スクリプト内での利用に適しています。
# データセットを対話的に調べる
appliedepidata::search_data()
# すべてのデータセット名を一覧表示する
appliedepidata::list_data()必要であれば、appliedepidata の Github リポジトリの “data” フォルダ で元のデータファイルを確認することもできます。
章別データセット一覧
以下は、本ハンドブックの各章で参照しているサンプルデータについて、get_data()/save_data() に渡す名前の一覧です。
症例ラインリスト
これは、outbreaks パッケージの練習用データセット ebola_sim から本ハンドブックチームによって拡張された架空のエボラ出血熱の発生状況のデータです。
# the "raw" linelist - an Excel spreadsheet with messy data
# use this to follow along with the Cleaning data and core functions page
raw_linelist <- appliedepidata::get_data(name = "case_linelists_linelist_raw")
# the "clean" linelist - an R-specific .rds file that preserves column classes
# use this for all other pages of this handbook that use the linelist
linelist <- appliedepidata::get_data(name = "linelist_cleaned_rds")
# the "clean" linelist, as an Excel file instead
linelist_excel <- appliedepidata::get_data(name = "linelist_cleaned_excel")- データクリーニングの章の一部では、「クリーニングディクショナリ(cleaning dictionary)」(.csv ファイル)を使用しています。次のコマンドを実行すると、R に直接読み込むことができます。
cleaning_dict <- appliedepidata::get_data(name = "case_linelists_cleaning_dict")日付型データ
日付型データ の章では、地区別・日付別の症例数を使います。
counts <- appliedepidata::get_data(name = "example_district_weekly_count_data")関数の作成
関数の作成 の章では、2013 年に中国で発生した H7N9 インフルエンザのアウトブレイクのラインリストを使います。
flu_china <- appliedepidata::get_data(name = "fluH7N9_China_2013")ループと反復処理・リストの操作
ループと反復処理・リストの操作 の章では、病院ごとに 1 シートを持つ Excel ブックをインポートします。まずファイルとして保存してください。
appliedepidata::save_data(name = "example_hospital_linelists", path = getwd())データのインポート・エクスポート
データのインポート・エクスポート の章では、Excel ファイルからラインリストをインポートします。まずファイルとして保存してください。
# 加工前のラインリスト
appliedepidata::save_data(name = "linelist_raw", path = getwd())
# 前処理済みのラインリスト
appliedepidata::save_data(name = "linelist_cleaned", path = getwd())マラリア症例数のデータ
これらのデータは、年齢層別、施設別、日別のマラリア症例数の架空のデータです。.rds ファイルは、列のデータ型を保持する R 特有のファイル形式です。これにより、R にデータをインポートした後、最小限のクリーニングを行うだけでよくなります。
malaria_data <- appliedepidata::get_data(name = "malaria_facility_count_data")リッカート尺度のデータ
これは、人口ピラミッドとリッカート尺度 の章で使用する、リッカート尺度による架空の調査データです。次のコマンドを実行すると、R に直接読み込むことができます。
likert_data <- appliedepidata::get_data(name = "likert_data")柔軟なダッシュボード
以下は、R Markdownで作るダッシュボード の章に関連するファイルへのリンクです。これらはサンプルデータではなく R Markdown / HTML のソースファイルであるため、appliedepidata パッケージには含まれていません。Github から直接ダウンロードしてください。
接触者の追跡
接触者の追跡 の章では、Go.Data の接触者追跡データの例を解析します。このデータは appliedepidata に含まれています。
# 症例調査データ
cases <- appliedepidata::get_data(name = "cases_clean")
# 接触者登録データ
contacts <- appliedepidata::get_data(name = "contacts_clean")
# 接触者の追跡調査データ
followups <- appliedepidata::get_data(name = "followups_clean")
# 症例と接触者のつながり
relationships <- appliedepidata::get_data(name = "relationships_clean")注釈:他のソフトウェア(KoBo、DHIS2 Tracker、CommCare など)の構造化された接触者の追跡データは、見た目が異なる場合があります。この章の代替サンプルデータやコンテンツをご提供いただける場合は こちら へご連絡ください。
ヒント:Go.Data を展開していて、API に接続したい場合は、データのインポート・エクスポートの章 (API セクション) と Go.Data Community of Practiceをご参照ください。
GIS
シェープファイルは拡張子の異なる複数の構成ファイルからなります。1 つは “.shp”、他は “.dbf”、“.prj” などです。appliedepidata は各シェープファイルの構成ファイルを 1 つの .zip にまとめているため、save_data() を使って保存し、その後に展開してください。
# シエラレオネの admin-3 シェープファイルを sf オブジェクトとして直接読み込む
sle_adm3 <- appliedepidata::get_data(name = "sle_adm3")
# 医療施設の地点データを sf オブジェクトとして読み込む
sle_hf <- appliedepidata::get_data(name = "sle_hf")
# ADM3 ごとの人口テーブルを読み込む
sle_adm3_pop <- appliedepidata::get_data(name = "sle_admpop_adm3_2020")
# または、シェープファイルの生の構成ファイルをフォルダに保存する
shp_dir <- "sle_adm3_files"
dir.create(shp_dir)
appliedepidata::save_data(name = "sle_adm3", path = shp_dir)
utils::unzip(file.path(shp_dir, "sle_adm3.zip"), exdir = shp_dir)GIS の基礎 の章では、次の 3 つのデータをすべて読み込みます。admin-3 の境界 sle_adm3、医療施設の地点 sle_hf、人口テーブル sle_admpop_adm3_2020 です。自分のファイルパスからシェープファイルを読み込むには、sf パッケージの read_sf() を使います。同じ章では Humanitarian Data Exchange のサイトも紹介しており、他のシェープファイルを zip 形式でダウンロードできます。例えば医療施設の地点データは こちら にあります。
系統樹
系統樹 の章をご参照ください。299 の Shigella sonnei サンプルの全ゲノムシークエンスから構築した系統樹の Newick ファイルと対応するサンプルデータ(テキストファイルへ変換)です。ベルギーのサンプルとそのデータは、ECDC EUPHEM フェローのプロジェクトの一環として、サルモネラ菌と赤痢菌についてベルギー NRC から提供されたもので、原稿も掲載される予定です。国際的なデータは、公共データベース(ncbi)で公開されており、過去に発表されています。
# the phylogenetic tree, as a "phylo" object (ape package)
tree <- appliedepidata::get_data(name = "Shigella_tree")
# additional information on each sample
sample_data <- appliedepidata::get_data(name = "sample_data_Shigella_tree")
# the subset-tree created later in the page
subtree <- appliedepidata::get_data(name = "Shigella_subtree_2")標準化
標準化率 の章をご参照ください。以下のコマンドでデータを直接読み込めます。
##############
# Country A
##############
# A 国の人口統計データ
A_demo <- appliedepidata::get_data(name = "country_demographics")
# A 国の死亡数
A_deaths <- appliedepidata::get_data(name = "deaths_countryA")
##############
# Country B
##############
# B 国の人口統計データ
B_demo <- appliedepidata::get_data(name = "country_demographics_2")
# B 国の死亡数
B_deaths <- appliedepidata::get_data(name = "deaths_countryB")
# 標準人口
###############
# 標準人口
# world standard population, by sex
standard_pop_data <- appliedepidata::get_data(name = "world_standard_population_by_sex")時系列分析とアウトブレイクの検出
時系列分析とアウトブレイクの検出 の章をご参照ください。surveillance パッケージに含まれている、2002 年から 2011 年までにドイツで報告されたカンピロバクター症例を使用しています(注:このデータセットは、学習のために 2011 年末から 3 ヶ月分のデータを削除し、元のデータから改編したものです)。
counts <- appliedepidata::get_data(name = "campylobacter_germany")また、時系列分析とアウトブレイクの検出の章では、ドイツの 2002 年から 2011 年の気候データ(気温:摂氏、降水量:ミリメートル)も使用します。これらのデータは ecmwfr パッケージを使用して EU Copernicus 衛星再解析データセットからダウンロードしたものです。 appliedepidata はこれらを年ごとの .nc ファイル 10 個からなる 1 つの .zip としてまとめています。get_data() はこの一括データを結合済みの stars オブジェクトとして直接読み込みます。生の .nc ファイルを自分で確認・処理したい場合は save_data() を使ってください。
# 結合済みの気候データを stars オブジェクトとして直接読み込む
weather_data <- appliedepidata::get_data(name = "germany_weather")
# または、年ごとの生の .nc ファイルをフォルダに保存する
weather_dir <- "germany_weather_files"
dir.create(weather_dir)
appliedepidata::save_data(name = "germany_weather", path = weather_dir)
utils::unzip(file.path(weather_dir, "germany_weather.zip"), exdir = weather_dir)標本調査データ分析
標本調査データ分析 の章では、MSF OCA 調査テンプレートをもとにした架空の死亡率調査データを使用しています。この架空のデータは、「R4Epis」プロジェクト の一環として作成されたものです。
# fictional survey data
survey_data <- appliedepidata::get_data(name = "survey_data")
# fictional survey data dictionary
survey_dict <- appliedepidata::get_data(name = "survey_dict")
# fictional survey population data
population <- appliedepidata::get_data(name = "population")Shiny
Shiny で作るダッシュボード の章では、マラリアのデータを表示する簡単なアプリの作成方法を紹介しています。 このアプリのデータは appliedepidata に含まれています。
malaria_data <- appliedepidata::get_data(name = "malaria_facility_count_data")アプリの R スクリプトはサンプルデータではないため appliedepidata には含まれていません。Github から直接ダウンロードしてください。
Shiny アプリの UI とサーバーのコードを含む app.R ファイルのダウンロードはこちら
章内で説明されている、アプリを開く前に実行すべき global.R ファイルのダウンロードはこちら
global.R から source() で読み込まれる plot_epicurve.R ファイルのダウンロードはこちら なお、here() のファイルパスが正しく動作するために、「funcs」フォルダ内に保存しなければならない場合があります。
