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)
西医