Mass shootings: modificar a saída
Neste exercício, você vai estender o app Shiny que construiu anteriormente para que círculos vermelhos dimensionados pelo número de mortes apareçam no mapa interativo, além de um resumo do caso quando o círculo for clicado. Seu app vai se parecer com a imagem nesta captura de tela.

Este exercício faz parte do curso
Construindo Aplicações Web com Shiny em R
Instruções do exercício
- Atualize a expressão reativa
rval_mass_shootingspara que o conjunto de dados seja filtrado com base no número de mortes (nb_fatalities) e no intervalo de datas (date_range) selecionados pela pessoa usuária. - Atualize o código dentro de
addCircleMarkers()para que oradiusdo círculo seja mapeado parafatalitiese o parâmetropopupseja mapeado parasummary. Observe que você pode mapear um parâmetroppara um campofusandop = ~ f.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)