Aan de slagGa gratis aan de slag

Massaschietpartijen: inputs toevoegen

Massaschietpartijen zijn een onderwerp van intens debat in de Verenigde Staten. Een publieke database van massas schietpartijen sinds 1982 is beschikbaar gesteld door Mother Jones, een non-profitorganisatie. In de komende drie oefeningen bouw je een Shiny-app om deze schietpartijen te verkennen op een interactieve kaart.

In deze oefening voeg je een schuifregelaar toe om te filteren op fatalities en een datumbereik-input om te filteren op een reeks datums. Je app zou moeten lijken op de afbeelding in deze screenshot.

An app with an interactive map of the US and controls to select a date range and number of fatalities

We hebben de gegevensset mass_shootings en de packages shiny, dplyr en leaflet al geladen.

Deze oefening maakt deel uit van de cursus

Webapplicaties bouwen met Shiny in R

Cursus bekijken

Oefeninstructies

  • Voeg een schuifregelaar toe met de naam nb_fatalities om de gegevensset mass_shootings te filteren op het aantal dodelijke slachtoffers.
  • Voeg een datumbereik-input toe met de naam date_range om te filteren op een reeks datums.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

ui <- bootstrapPage(
  theme = shinythemes::shinytheme('simplex'),
  leaflet::leafletOutput('map', height = '100%', width = '100%'),
  absolutePanel(top = 10, right = 10, id = 'controls',
    # CODE BELOW: Add slider input named nb_fatalities
    
    # CODE BELOW: Add date range input named date_range
    
  ),
  tags$style(type = "text/css", "
    html, body {width:100%;height:100%}     
    #controls{background-color:white;padding:20px;}
  ")
)

server <- function(input, output, session) {
  output$map <- leaflet::renderLeaflet({
    leaflet() %>% 
      addTiles() %>%
      setView( -98.58, 39.82, zoom = 5) %>% 
      addTiles()
  })
}

shinyApp(ui, server)
Code bewerken en uitvoeren