私は、国のコードのリストの数に応じて、リーフレットの世界地図に複数のポリゴンを追加しようとしています。そして私は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'を作成できますか?ポリゴンはそれを 'leaflet%>%addTiles%>%'の最後までパイプします。ループ内の各繰り返しの最後にpipeコマンドを貼り付けることができます。 – sconfluentus