Mulai sekarangMulai gratis

Penembakan massal: modifikasi keluaran

Dalam latihan ini, Anda akan memperluas aplikasi Shiny yang sebelumnya Anda bangun sehingga lingkaran merah dengan ukuran berdasarkan jumlah korban jiwa muncul pada peta interaktif, bersamaan dengan ringkasan kasus saat lingkaran diklik. Aplikasi Anda akan menyerupai gambar pada cuplikan layar ini.

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

Latihan ini merupakan bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Instruksi latihan

  • Perbarui ekspresi reaktif rval_mass_shootings sehingga himpunan data difilter berdasarkan jumlah korban jiwa (nb_fatalities) dan rentang tanggal (date_range) yang dipilih pengguna.
  • Perbarui kode di dalam addCircleMarkers() sehingga radius lingkaran dipetakan ke fatalities dan parameter popup dipetakan ke summary. Perhatikan bahwa Anda dapat memetakan parameter p ke kolom/field f menggunakan p = ~ f.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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)
Edit dan Jalankan Kode