RShiny реактивная ошибка приложения - PullRequest
0 голосов
/ 26 мая 2018

У меня есть фрейм данных следующим образом:

d <- data_frame(number = 1:4, 
        date = c(1600, 1700, 1800, 1900),
        T_name = c("name1", "name2", "name3", "name4"),
        casualties= c(18, 89, 97, 34),
        m_name= c("name1", "name2", "name3", "name4"),
        longitude = c(87.7, 103.2, 67.0, 76.8),
        latitude = c(23.4, 78.3, 78.9, 34.9))

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

Length of logical index vector must be 1 or 9 (the number of columns), not 25

В моих реальных данных 9 столбцов и 25 строк, так что в этом есть какой-то смысл.Я просто не могу понять, как изменить мой код.Мне нужен раскрывающийся список, отсортированный по уникальному T_name, и при выборе нового T_name карта обновляется только данными из этого T_name.

UI

library(shiny)
library(leaflet)

ui <- {fluidPage("app title", 
         sidebarLayout(
           sidebarPanel(
             selectInput(inputId = "input1", label = "Name" ,choices = 
                           unique(d$T_name))

           ),

           mainPanel(
             leafletOutput("mymap"))
         )
)}

server

server <- function(input, output) {
  react <- reactive({
  req(input$input1)
df <- d[d$T_name == input$input1]
df
  })
output$mymap <- renderLeaflet({ req(input$input1)

leaflet() %>% addTiles() %>% setView(lng = -100.94, lat = 38.94 , zoom 
= 3.5) %>%
  addProviderTiles(providers$Esri.NatGeoWorldMap) %>%
  addMarkers(lng=react()$longitude, lat=react()$latitude,
             popup = paste(d$m_name)
  )
  })
}

Запустите приложение

shinyApp(ui, server)

Я уже несколько дней играю с этим, поэтому любая помощь очень ценится!

...