Я пытаюсь отобразить местоположения школ США по штатам, используя rmd flexdashboard и буклет, но когда я запускаю его, он показывает карту только для одного штата (из 3) из selectInput. Например, если я выберу «Алабама» или «Аризона», ничего не появится, но когда я нажму «Калифорния», появится карта. Как получить другую карту для отображения в зависимости от соответствующего ввода? что происходит, когда я выбираю состояние
Это фрагмент кода:
---
title: "Schools by State"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
library(flexdashboard)
library(leaflet)
library(DT)
library (readr)
library(dplyr)
library(shiny)
library(tidyverse)
urlfile="https://raw.githubusercontent.com/curikim123/Practice/master/Example.csv"
example= read_csv(url(urlfile))
ca <- subset(example, example$State== "California")
az <- subset(example, example$State== "Arizona")
al <- subset(example, example$State== "Alabama")
Столбец {.sidebar}
selectInput("State", label= "State", choices=c("Alabama", "Arizona", "California"), selected="Alabama")
submitButton('Submit')
Строка {data-height = 200)
output$map = renderLeaflet({
if (input$State=="Alabama"){
n <- leaflet(al) %>% addTiles() %>%
addProviderTiles(providers$OpenStreetMap) %>%
addCircles(~Longitude, ~Latitude, popup=paste(al$School.Name), weight = 10, radius=20,stroke = TRUE, color="red", fillOpacity = 0.8) %>%
setView(lng = -85, lat = 32, zoom = 5)
n
}
if (input$State=="Arizona"){
n <- leaflet(az) %>% addTiles() %>%
addProviderTiles(providers$OpenStreetMap) %>%
addCircles(~Longitude, ~Latitude, popup=paste(az$School.Name), weight = 10, radius=20,stroke = TRUE, color="red", fillOpacity = 0.8) %>%
setView(lng = -117, lat = 35, zoom = 5)
n
}
if (input$State=="California"){
n <- leaflet(ca) %>% addTiles() %>%
addProviderTiles(providers$OpenStreetMap) %>%
addCircles(~Longitude, ~Latitude, popup=paste(ca$School.Name), weight = 10, radius=20,stroke = TRUE, color="red", fillOpacity = 0.8) %>%
setView(lng = -117, lat = 35, zoom = 5)
n
}
})
leafletOutput("map")