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

Rの解析に役に立つ記事
スポンサーリンク

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

なお、世界地図へのプロットは「rworldmap」パッケージを利用しています。

パッケージバージョンは0.1。実行コマンドはR version 3.2.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

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

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

#利用できるデータの情報を取得:get_codesコマンド
SummaryCodes <- get_codes()
#CSV&#12391;&#12487;&#12540;&#12479;&#12434;&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;&#20986;&#21147;
write.csv(SummaryCodes, "SummaryCodes.csv")

#&#12487;&#12540;&#12479;&#12398;&#12521;&#12505;&#12523;&#12391;&#21462;&#24471;&#12487;&#12540;&#12479;&#12434;&#25351;&#23450;:get_data&#12467;&#12510;&#12531;&#12489;
#2008&#24180;&#12398;BMI30&#20197;&#19978;&#12398;&#35519;&#26619;&#32080;&#26524;
GetData <- as.data.frame(get_data("WHOSIS_000010"))
#&#12487;&#12540;&#12479;&#27083;&#36896;&#12398;&#30906;&#35469;
str(GetData)
'data.frame':	612 obs. of  8 variables:
  $ gho                 : chr  "Adults aged &amp;#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]"

#&#30007;&#24615;&#12398;&#32933;&#28288;&#29366;&#27841;&#12434;&#19990;&#30028;&#22320;&#22259;&#12408;&#12503;&#12525;&#12483;&#12488;
#&#30007;&#24615;&#12398;&#12487;&#12540;&#12479;&#12434;&#25277;&#20986;
MaleSubsetData <- subset(GetData, GetData[, 3] == "Male")
#value&#12398;&#12487;&#12540;&#12479;&#12398;"[]"&#37096;&#20998;&#12434;&#21066;&#38500;
MaleSubsetData[, 8] <- as.numeric(sapply(MaleSubsetData[, 8], function(x) unlist(strsplit(x, " ")[[1]][1])))

#&#19990;&#30028;&#22320;&#22259;&#12408;&#12398;&#12503;&#12525;&#12483;&#12488;&#12364;&#31777;&#21336;&#12394;rworldmap&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#35501;&#12415;&#36796;&#12415;
#install.packages("rworldmap")
library("rworldmap")

#&#12503;&#12525;&#12483;&#12488;
PlotCountMap <- joinCountryData2Map(MaleSubsetData, joinCode = "NAME", nameJoinColumn = "country")
mapCountryData(PlotCountMap, nameColumnToPlot = "value", mapTitle = "2008:Male BMI 30 >=")

出力例

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

worldWHO

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

タイトルとURLをコピーしました