WHO(世界保健機関)が公開しているデータをAPIを利用して取得するパッケージです。参考までに2008年のBMI30以上の男性データを取得し、世界地図にプロットする例を紹介します。
なお、世界地図へのプロットは「rworldmap」パッケージを利用しています。
パッケージバージョンは0.1。実行コマンドは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 >=")
出力例
・男性の肥満状況を世界地図へプロット
少しでも、あなたのウェブや実験の解析が楽になりますように!!