ComenzarEmpieza gratis

Tiroteos masivos: modifica la salida

En este ejercicio, vas a ampliar la app de Shiny que creaste antes para que aparezcan círculos rojos cuyo tamaño depende del número de víctimas mortales en el mapa interactivo, y que al hacer clic en un círculo se muestre un resumen del caso. Tu app se parecerá a la imagen de esta captura de pantalla.

An app displaying red circles for each mass shooting incident with details appearing on clicking the circle

Este ejercicio forma parte del curso

Creación de aplicaciones web con Shiny en R

Ver curso

Instrucciones del ejercicio

  • Actualiza la expresión reactiva rval_mass_shootings para que el conjunto de datos se filtre según el número de víctimas mortales (nb_fatalities) y el rango de fechas (date_range) seleccionados por el usuario.
  • Actualiza el código dentro de addCircleMarkers() para que el radius del círculo se mapee a fatalities y el parámetro popup se mapee a summary. Ten en cuenta que puedes mapear un parámetro p a un campo f usando p = ~ f.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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)
Editar y ejecutar código