Несколько карт не отображаются правильно на листовке на flexdashboard - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь отобразить местоположения школ США по штатам, используя 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")


...