ÎncepețiÎncepe gratuit

Î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.

O aplicație care afișează cercuri roșii pentru fiecare incident de împușcături în masă, cu detalii care apar la clic pe cerc

Acest exercițiu face parte din cursul

Crearea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Actualizează expresia reactivă rval_mass_shootings astfel î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ât radius al cercului să fie mapat la fatalities, iar parametrul popup să fie mapat la summary. Reține că poți mapa un parametru p la un câmp f folosind p = ~ 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)
Editează și rulează codul