Bắt đầu ngayBắt đầu miễn phí

Xả súng hàng loạt: thêm input

Các vụ xả súng hàng loạt (Mass Shootings) là chủ đề được tranh luận gay gắt ở Hoa Kỳ. Một cơ sở dữ liệu công khai về các vụ xả súng hàng loạt từ năm 1982 đã được tổ chức phi lợi nhuận Mother Jones công bố. Trong ba bài tập tiếp theo, bạn sẽ xây dựng một ứng dụng Shiny để khám phá các vụ việc này trên một bản đồ tương tác.

Trong bài tập này, bạn sẽ thêm một thanh trượt (slider) để lọc theo fatalities và một input khoảng ngày để lọc theo một khoảng thời gian. Ứng dụng của bạn sẽ giống như hình trong ảnh chụp màn hình.

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

Chúng tôi đã nạp sẵn bộ dữ liệu mass_shootings, và các gói shiny, dplyr, cùng leaflet.

Bài tập này là một phần của khóa học

Xây dựng ứng dụng web với Shiny trong R

Xem khóa học

Hướng dẫn bài tập

  • Thêm một thanh trượt (slider) tên nb_fatalities để lọc bộ dữ liệu mass_shootings theo số người thiệt mạng.
  • Thêm một input khoảng ngày tên date_range để lọc theo một khoảng thời gian.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã