各国の道路交通事故による死亡者数のマッピングに取り組んでいます。次のコードを使用して、WHO からデータを取得しました。
library(XML)
col <- "http://apps.who.int/gho/athena/data/GHO/RS_196,RS_198.html?profile=ztable&filter=COUNTRY:*"
col.doc <- htmlParse(col)
col.tabs <- readHTMLTable(col.doc)
colDF <- as.data.frame(col.tabs)
colDF$Country <- colDF$NULL.COUNTRY
colDeathTot <- colDF[seq(1, nrow(colDF), 2), ]
colDeathTot$TotalDeaths <- colDeathTot$NULL.NUMERIC.VALUE
次に、「gvisGeoChart」を使用してデータをマッピングします。
install.packages("googleVis")
library(googleVis)
WorldCollisions <- gvisGeoChart(colDeathTot,
locationvar="NULL.COUNTRY", colorvar="TotalDeaths",
options=list(displayMode="regions"),
chartid="GeoChart_RoadDeaths_World")
plot(WorldCollisions)
問題は、地図上のデータが正しくないことです。たとえば、カナダの場合、データフレームが 2296 の場合、マップ上で 126 を取得します。これについて何か考えはありますか? データは「row.names」変数から来ているのではないかと思いましたが、そうではありません。国が正しく一致していない可能性がありますか?