我試圖根據許多國家代碼列表將多個多邊形添加到傳單世界地圖。我試圖使用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