我试图根据许多国家代码列表将多个多边形添加到传单世界地图。我试图使用R循环来添加多边形。下面是我手动从列表1中添加多边形代码:如何使用r循环在小册子地图中添加多个多边形?
library(sp)
library(raster)
library(leaflet)
library(maps)
library(tidyverse)
countries_1 <- c('PAK','TUR','BGR')
adm1 <- getData('GADM', country='PAK', level=0)
adm2 <- getData('GADM', country= 'TUR', level=0)
adm3 <- getData('GADM', country= 'BGR', level=0)
leaflet() %>%
addTiles() %>%
addPolygons(data=adm1, weight = 3, fillColor = 'purple', color = 'purple') %>%
addPolygons(data=adm2, weight = 3, fillColor = 'purple', color = 'purple') %>%
addPolygons(data=adm3, weight = 3, fillColor = 'purple', color = 'purple')
我使用的是循环添加多个多边形层,使得对list_n想:
countries_n <- ('ctry1','ctry2','ctry3',...'ctryn')
for (i in country_n) {
countries <- basemap %>% addPolygons(data=getData('GADM',country = i, level = 0),
weight = 3, fillColor = 'purple', color = 'purple')
}
的问题是我怎么能嵌入循环到“leflet()%>%”?
*请注意这里: 如果尝试在addPolygons(添加多个数据),它会在数据图仅第一要素,在以下情况下,唯一的国家“PAK”将ploted:
addPolygons(data=c('PAK','TUR'), weight = 3, fillColor = 'purple', color = 'purple')
难道你只是将数据和地图国家合并到一个变量吗? –
@RomanLuštrik请阅读注释如果你将它们合并成一个变量,它只会列出列表中的第一个元素 – Daisywang
看起来像你每次你通过循环时都添加一个底图,你可以在一个循环中粘贴字符串来创建'countries'多边形然后将其传递到“传单%>%addTiles%>%'的末尾。你可以在每次迭代结束时使用管道命令粘贴到循环中...... – sconfluentus