Sparatorie di massa: modifica l'output
In questo esercizio estenderai la Shiny app che hai costruito in precedenza in modo che sul mappa interattiva compaiano cerchi rossi la cui dimensione dipende dal numero di vittime, insieme a un riepilogo del caso quando si clicca sul cerchio. La tua app sarà simile all'immagine in questo screenshot.

Questo esercizio fa parte del corso
Creare applicazioni web con Shiny in R
Istruzioni dell'esercizio
- Aggiorna l'espressione reattiva
rval_mass_shootingsin modo che il dataset sia filtrato in base al numero di vittime (nb_fatalities) e all'intervallo di date (date_range) selezionati dall'utente. - Aggiorna il codice dentro
addCircleMarkers()in modo che ilradiusdel cerchio sia mappato afatalitiese il parametropopupsia mappato asummary. Nota che puoi mappare un parametropa un campofusandop = ~ f.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)