Strzelaniny masowe: modyfikacja wyników
W tym ćwiczeniu rozszerzysz wcześniej zbudowaną aplikację Shiny tak, aby na interaktywnej mapie pojawiały się czerwone koła, których rozmiar odpowiada liczbie ofiar śmiertelnych. Po kliknięciu koła wyświetlane będzie podsumowanie danego incydentu. Twoja aplikacja powinna wyglądać jak na poniższym zrzucie ekranu.

To ćwiczenie jest częścią kursu
Tworzenie aplikacji internetowych z Shiny w R
Instrukcje do ćwiczenia
- Zaktualizuj wyrażenie reaktywne
rval_mass_shootingstak, aby zbiór danych był filtrowany na podstawie liczby ofiar śmiertelnych (nb_fatalities) i zakresu dat (date_range) wybranych przez użytkownika. - Zaktualizuj kod wewnątrz
addCircleMarkers()tak, aby parametrradiusbył przypisany dofatalities, a parametrpopup– dosummary. Pamiętaj, że parametrpmożesz przypisać do polaf, używając zapisup = ~ f.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
ui <- bootstrapPage(
theme = shinythemes::shinytheme('simplex'),
leaflet::leafletOutput('map', height = '100%', width = '100%'),
absolutePanel(top = 10, right = 10, id = 'controls',
sliderInput('nb_fatalities', 'Minimum Fatalities', 1, 40, 10),
dateRangeInput('date_range', 'Select Date', "2010-01-01", "2019-12-01")
),
tags$style(type = "text/css", "
html, body {width:100%;height:100%}
#controls{background-color:white;padding:20px;}
")
)
server <- function(input, output, session) {
rval_mass_shootings <- reactive({
# MODIFY CODE BELOW: Filter mass_shootings on nb_fatalities and
# selected date_range.
mass_shootings
})
output$map <- leaflet::renderLeaflet({
rval_mass_shootings() %>%
leaflet() %>%
addTiles() %>%
setView( -98.58, 39.82, zoom = 5) %>%
addTiles() %>%
addCircleMarkers(
# CODE BELOW: Add parameters popup and radius and map them
# to the summary and fatalities columns
fillColor = 'red', color = 'red', weight = 1
)
})
}
shinyApp(ui, server)