我正在绘制每个国家/地区因道路交通事故造成的死亡人数。我使用以下代码从 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”变量,但事实并非如此。也许这些国家没有正确匹配?