Mass Shootings: Ausgabe anpassen
In dieser Übung erweiterst du die Shiny-App, die du zuvor gebaut hast, sodass rote Kreise, deren Größe auf der Anzahl der Todesopfer basiert, auf der interaktiven Karte erscheinen. Beim Klicken auf einen Kreis wird zudem eine Zusammenfassung des Falls angezeigt. Deine App wird dem Bild auf diesem Screenshot ähneln.

Diese Übung ist Teil des Kurses
Webanwendungen mit Shiny in R entwickeln
Anleitung zur Übung
- Aktualisiere den reaktiven Ausdruck
rval_mass_shootings, sodass der Datensatz basierend auf der Anzahl der Todesopfer (nb_fatalities) und dem vom Benutzer gewählten Datumsbereich (date_range) gefiltert wird. - Aktualisiere den Code in
addCircleMarkers(), sodass derradiusder Kreise auffatalitiesabgebildet wird und der Parameterpopupaufsummary. Beachte: Du kannst einen Parameterpauf ein Feldfabbilden mitp = ~ f.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)