Как вывести tmap_leaflet в Rshiny

Так что я новичок в Rshiny и R в целом. Я тестировал пакет tmap, и когда я набрал это в консоли

> working_map <- readOGR(dsn=".",layer=file_name, GDAL1_integer64_policy=TRUE)
> japan <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
> tmap_leaflet(japan)

Я получаю интерактивный виджет листовки, который позволяет мне видеть и увеличивать и уменьшать масштаб, как листовка.

Но я не могу интегрировать это в свое приложение Rshiny.

# ui.R


shinyUI(fluidPage(  

  mainPanel(  
    leafletOutput("working_map", height=900)
  )

))

#server.R
output$working_map <- renderLeaflet({
  working_map <- readOGR(dsn=".",layer=filename, GDAL1_integer64_policy=TRUE) 
  japan <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
  tmap_leaflet(japan)
})

Я пробовал разные комбинации. Например, plotOutput или размещение tmap_leaflet внутри пользовательского интерфейса. Кажется, ничего из этого не работает. Если я не ошибаюсь, tmap_leaflet создаст виджет Leaflet. Должен ли я создавать это на стороне пользовательского интерфейса тогда? Или я должен использовать global.R?

1 ответ

Мне удалось это решить.

#ui.R

shinyUI(fluidPage(
  titlePanel("Japan Map"),

  mainPanel(    
    leafletOutput("working_map", height=900)
  )

))

#server.R
shinyServer(function(input, output) {


  output$working_map <- renderLeaflet({
    working_map <- readOGR(dsn=".",layer="japan_ver81", GDAL1_integer64_policy=TRUE)
    working_map <- tm_shape(working_map) + tm_fill(col="NumIB", title="# Inbound to Cities", style="jenks")
    tmap_leaflet(working_map)

  })


  })

Это была довольно глупая ошибка с переменными. Пакеты, которые я использовал, это библиотека (tmap) и библиотека (rgdal).

Другие вопросы по тегам