R 根据变量值用地图库填充国家和大陆

R 根据变量值用地图库填充国家和大陆,r,ggplot2,colors,maps,rworldmap,R,Ggplot2,Colors,Maps,Rworldmap,我想根据变量prob2的值,用UE的一些国家,然后是亚洲和非洲的一些大陆来填充地图。这是我的数据map\u d: state prob2 <chr> <dbl> Germany 0.6 Austria 2.9 Belgium 1.9 Bulgaria 0.6 Cyprus 0.0 Croatia 1.7 ... Other Asian 9.2 Other African 2.5 Other North American 10.7 Othe

我想根据变量
prob2
的值,用UE的一些国家,然后是亚洲和非洲的一些大陆来填充地图。这是我的数据
map\u d

state prob2
<chr> <dbl>
Germany   0.6
Austria   2.9
Belgium   1.9
Bulgaria   0.6
Cyprus   0.0
Croatia   1.7
...
Other Asian   9.2
Other African   2.5
Other North American  10.7
Other Latin American   2.3
Other Oceania   5.0
状态问题2
德国0.6
奥地利2.9
比利时1.9
保加利亚0.6
塞浦路斯0.0
克罗地亚1.7
...
其他亚洲9.2
其他非洲国家2.5
其他北美10.7
其他拉丁美洲2.3
其他大洋洲5.0
首先,我使用以下代码填写欧洲国家:

europ_map <- map_data("world", region = c(
  "Germany", 
"Austria",
"Belgium",
"Bulgaria",
"Chipre",
"Croacia",
"Denmark",
"Slovakia",
"Slovenia",
"Spain",
"Estonia",
"Finland",
"France",
"Greece",
"Hungary",
"Ireland",
"Italy",
"Latvia",
"Lithuania",
"Luxembourg",
"Malta",
"Norway",
"Netherlands",
"Poland",
"Portugal",
"UK",
"Czech Republic",
"Romania",
"Sweden"))

fin_map <- merge(europ_map, map_d, by.x="region", by.y="state")
library(plyr)
fin_map <- arrange(fin_map, group, order)

ggplot(fin_map, aes(x=long, y=lat, group=group, fill=prob2)) +
  geom_polygon(colour = "white") +
  coord_map("polyconic")

europ\u mapFWIW,这里有一个开始:

library(tidyverse)
wm <- map_data("world")
cc <- raster::ccodes()
head(cc[,c(1:3, 8:10)], 3)
#          NAME ISO3 ISO2     UNREGION1 UNREGION2     CONTINENT
# 1       Aruba  ABW   AW     Caribbean  Americas South America
# 2 Afghanistan  AFG   AF Southern Asia      Asia          Asia
# 3      Angola  AGO   AO Middle Africa    Africa        Africa
dat <- read.csv(text="state, prob2
Other Asian,   9.2
Other African,   2.5
Other North American,  10.7
Other Latin American,   2.3
Other Oceania,   5.0")
mappings <- c("Asia"="Other Asian", "Africa"="Other African") # you add the others here
cc$MYCONTINENTS <- mappings[cc$CONTINENT]
cc <- left_join(cc, dat, by = c("MYCONTINENTS"="state"))

## 31 country names need to be mapped... 
wm$region %>% unique %>% setdiff(cc$NAME)
# ...                        
# [7] "Canary Islands"  "UK"  "Heard Island"     
# ...
## For example, UK is called United Kingdom in cc:
unique(grep("Kingdom", cc$NAME, value=T, ignore.case=T))
# [1] "United Kingdom"

mappings <- c("UK"="United Kingdom", "USA"="United States") # You add the others here
cc$NAME[match(mappings, cc$NAME)] <- names(mappings)

wm <- left_join(wm, cc[,c("NAME","MYCONTINENTS", "prob2")], by=c("region"="NAME"))
ggplot() +
  geom_polygon(aes(x=long, y=lat, group=group, fill=prob2), wm, colour = NA) +
  coord_quickmap()
库(tidyverse)
西医