Rで解析:WHO公開のデータを取得!「WHO」パッケージ


投稿日: Rの解析に役に立つ記事 ,

WHO(世界保健機関)が公開しているデータをAPIを利用して取得するパッケージです。参考までに2008年のBMI30以上の男性データを取得し、世界地図にプロットする例を紹介します。

世界地図へのプロットは「rworldmap」パッケージを利用しています。非常に便利なパッケージなので後日紹介できればと思います。

パッケージバージョンは0.1。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.2で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("WHO")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("WHO")

#利用できるデータの情報を取得:get_codesコマンド
SummaryCodes <- get_codes()
#CSVでデータを作業フォルダに出力
write.csv(SummaryCodes, "SummaryCodes.csv")

#データのラベルで取得データを指定:get_dataコマンド
#2008年のBMI30以上の調査結果
GetData <- as.data.frame(get_data("WHOSIS_000010"))
#データ構造の確認
str(GetData)
'data.frame':	612 obs. of  8 variables:
$ gho                 : chr  "Adults aged &#8805; 20 years who are obese (%)" ...
$ year                : num  2008 2008 2008 2008 2008 ...
$ sex                 : chr  "Male" "Male" "Male" "Male" ...
$ country             : chr  "Australia" "Bahamas" "Benin" "Chad" ...
$ worldbankincomegroup: chr  "High-income" "High-income" "Low-income" "Low-income" ...
$ region              : chr  "Western Pacific" "Americas" "Africa" "Africa" ...
$ publishstate        : chr  "Published" "Published" "Published" "Published" ...
$ value               : chr  "25.2 [22.1-28.4]" "26.7 [12.8-41.1]" "3.5 [2.2-5.0]" "2.4 [0.8-5.1]"

#男性の肥満状況を世界地図へプロット
#男性のデータを抽出
MaleSubsetData <- subset(GetData, GetData[, 3] == "Male")
#valueのデータの"[]"部分を削除
MaleSubsetData[, 8] <- as.numeric(sapply(MaleSubsetData[, 8], function(x) unlist(strsplit(x, " ")[[1]][1])))

#世界地図へのプロットが簡単なrworldmapパッケージを読み込み
#install.packages("rworldmap")
library("rworldmap")

#プロット
PlotCountMap <- joinCountryData2Map(MaleSubsetData, joinCode = "NAME", nameJoinColumn = "country")
mapCountryData(PlotCountMap, nameColumnToPlot = "value", mapTitle = "2008:Male BMI 30 >")

出力例

・男性の肥満状況を世界地図へプロット
worldWHO


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク