R 单张:绘制错误的国家名称

R 单张:绘制错误的国家名称,r,leaflet,maps,R,Leaflet,Maps,我很难弄明白为什么我不能在地图上标出正确的国家。我已经检查了我所有的代码,我仍然不明白为什么不能正常工作 如果你发现任何问题,请告诉我。我很感激 这是数据集 Country Total Code 1 China 34620 CHN 2 Japan 89 JPN 3 Singapore 40 SGP 4 Thailand 32 THA 5 Hong Kong 26 HKG 6 S. Korea

我很难弄明白为什么我不能在地图上标出正确的国家。我已经检查了我所有的代码,我仍然不明白为什么不能正常工作

如果你发现任何问题,请告诉我。我很感激

这是数据集

      Country Total Code
1        China 34620  CHN
2        Japan    89  JPN
3    Singapore    40  SGP
4     Thailand    32  THA
5    Hong Kong    26  HKG
6     S. Korea    24  KOR
7       Taiwan    17  TWN
8     Malaysia    16  MYS
9    Australia    15  AUS
10     Germany    14  DEU
11     Vietnam    13  VNM
12         USA    12  USA
13      France    11  FRA
14       Macao    10  MAC
15      U.A.E.     7  ARE
16      Canada     7  CAN
17 Philippines     3  PHL
18       India     3  IND
19       Italy     3  ITA
20        U.K.     3  GBR
21      Russia     2  RUS
22     Finland     1  FIN
23   Sri Lanka     1  LKA
24      Sweden     1  SWE
25       Nepal     1  NPL
26    Cambodia     1  KHM
27       Spain     1  ESP
28     Belgium     1  BEL

图书馆(单张)
图书馆(地图)
图书馆(地图工具)
案例%addTiles()%%>%
添加多边形(fillOpacity=0.6,smoothFactor=0.5,stroke=TRUE,weight=1,
color=pal(如.numeric(case$Total)),
标签=案例$labels)

您需要重复
案例的每一行
数据框,以便国家匹配地图上的每个多边形。这意味着确保您正确地订购它们,并且您需要将澳门和香港并入中国(或者更改您拆分IDS的方式来处理它们)。 以下是完整的工作版本:

图书馆(传单)
图书馆(地图)
图书馆(地图工具)

案例我不是传单方面的专家,但你不是在用你的电话绘制整个世界吗?国家=地图(“世界”…
和传单(国家)…我已经知道了,第一个秋天的国家名称与地图不匹配(),第二个我们需要订购数据是的,我回去了地图()了解一下香港和澳门,它们不在地图上。代码没有运行。
do.call
需要稍后调用,就在
传单
之前。然后它就可以工作了

library(leaflet)
library(maps)
library(maptools)

case <- read.csv("Cases_02072020_v1.csv",stringsAsFactors = FALSE)
Country = map("world", fill = TRUE, plot = FALSE, regions=iso.expand(case$Code,regex = TRUE))

IDs <- sapply(strsplit(Country$names, ":"), function(x) x[1])
Country <- map2SpatialPolygons(Country, 
                               IDs=IDs, 
                               proj4string=CRS("+proj=longlat +datum=WGS84"))


pal <- colorNumeric(
  palette = "Blues",
  domain = as.numeric(case$Total))

case$labels <- sprintf(
  "<strong>Country:%s</strong><br/>Total:%g",
  case$Country, case$Total)%>% lapply(htmltools::HTML) 


leaflet(Country) %>% addTiles() %>%
  addPolygons(fillOpacity = 0.6,  smoothFactor = 0.5, stroke = TRUE, weight = 1, 
              color = pal(as.numeric(case$Total)),
              label = case$labels)