BaşlayınÜcretsiz Başlayın

Kitlesel silahlı saldırılar: çıktıyı değiştir

Bu egzersizde, daha önce oluşturduğun Shiny uygulamasını genişleteceksin. Kullanıcı etkileşimli haritada, ölü sayısına göre boyutlandırılmış kırmızı daireler görecek ve daireye tıkladığında olayın özeti görüntülenecek. Uygulaman, bu ekran görüntüsündeki görsele benzeyecek.

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

Bu egzersiz

R ile Shiny Kullanarak Web Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • rval_mass_shootings adlı tepkisel ifadeyi güncelle ve veri kümesini kullanıcının seçtiği ölüm sayısına (nb_fatalities) ve tarih aralığına (date_range) göre filtrele.
  • addCircleMarkers() içindeki kodu güncelle; dairenin radius değerini fatalities değişkenine, popup parametresini ise summary alanına eşle. Bir parametre pyi bir alan fe p = ~ f ile eşleyebileceğini unutma.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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)
Kodu Düzenle ve Çalıştır