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.

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
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ệumass_shootingstheo 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)