Împușcături în masă: modificarea rezultatelor
În acest exercițiu, vei extinde aplicația Shiny creată anterior, astfel încât pe harta interactivă să apară cercuri roșii ale căror dimensiuni reflectă numărul de victime, împreună cu un rezumat al cazului atunci când dai clic pe cerc. Aplicația ta va arăta similar cu imaginea din această captură de ecran.

Acest exercițiu face parte din cursul
Crearea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
- Actualizează expresia reactivă
rval_mass_shootingsastfel încât setul de date să fie filtrat în funcție de numărul de victime (nb_fatalities) și intervalul de date (date_range) selectat de utilizator. - Actualizează codul din interiorul
addCircleMarkers()astfel încâtradiusal cercului să fie mapat lafatalities, iar parametrulpopupsă fie mapat lasummary. Reține că poți mapa un parametrupla un câmpffolosindp = ~ f.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)