대규모 총격 사건

R로 Shiny 웹 애플리케이션 만들기

Ramnath Vaidyanathan

VP of Product Research

데이터 살펴보기

mass shootings 데이터셋의 처음 10개 행

R로 Shiny 웹 애플리케이션 만들기

각 대규모 총격 사건에 빨간 원이 표시되고 클릭 시 상세 정보가 나타나는 앱

R로 Shiny 웹 애플리케이션 만들기

UI 추가

ui <- bootstrapPage(
  theme = shinythemes::shinytheme('simplex'),

leaflet::leafletOutput('map', width = '100%', height = '100%'),
absolutePanel(top = 10, right = 10, id = 'controls',
sliderInput('nb_fatalities', '최소 사망자 수', 1, 40, 10),
dateRangeInput('date_range', '날짜 선택', "2010-01-01", "2019-12-01"),
)
, tags$style(type = "text/css", " html, body {width:100%;height:100%} #controls{background-color:white;padding:20px;} ")
)
R로 Shiny 웹 애플리케이션 만들기

출력 추가: 인터랙티브 지도

server <- function(input, output, session){

output$map <- leaflet::renderLeaflet({
leaflet() %>%
addTiles() %>%
setView( -98.58, 39.82, zoom = 5)
})
}
R로 Shiny 웹 애플리케이션 만들기

미국 인터랙티브 지도와 날짜 범위, 사망자 수를 선택하는 컨트롤이 있는 앱

R로 Shiny 웹 애플리케이션 만들기

반응식 추가

rval_mass_shootings <- reactive({

mass_shootings %>%
filter(
date >= input$date_range[1],
date <= input$date_range[2],
fatalities >= input$nb_fatalities
)
})
R로 Shiny 웹 애플리케이션 만들기

출력 업데이트: 인터랙티브 지도

output$map <- leaflet::renderLeaflet({

rval_mass_shootings() %>%
leaflet() %>% addTiles() %>% setView( -98.58, 39.82, zoom = 5) %>%
addCircleMarkers(
popup = ~ summary,
radius = ~ fatalities,
fillColor = 'red', color = 'red', weight = 1
)
})
R로 Shiny 웹 애플리케이션 만들기

각 대규모 총격 사건에 빨간 원이 표시되고 클릭 시 상세 정보가 나타나는 앱

R로 Shiny 웹 애플리케이션 만들기

앱 업데이트: 액션 버튼과 모달 추가

ui <- bootstrapPage(
  theme = shinythemes::shinytheme('simplex'),
  leaflet::leafletOutput('map', width = '100%', height = '100%'),
  absolutePanel(top = 10, right = 10, id = 'controls',
    sliderInput('nb_fatalities', '최소 사망자 수', 1, 40, 10),
    dateRangeInput('date_range', '날짜 선택', "2010-01-01", "2019-12-01"),

actionButton('show_about', '정보')
) )
server <- function(input, output, session){

observeEvent(input$show_about, {
showModal(modalDialog(text_about, title = '정보'))
})
}
R로 Shiny 웹 애플리케이션 만들기

각 대규모 총격 사건에 빨간 원이 표시되고 클릭 시 상세 정보가 나타나는 앱

R로 Shiny 웹 애플리케이션 만들기

연습해 봅시다!

R로 Shiny 웹 애플리케이션 만들기

Preparing Video For Download...