Shiny 소개

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

Ramnath Vaidyanathan

VP of Product Research

Shiny 소개

Old Faithful 간헐천 분출 대기 시간을 보여주는 Shiny 웹 앱으로, 히스토그램 빈 수를 인터랙티브하게 조절

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

웹 앱이란?

  • 사용자 입력/상호작용에 따라 업데이트
  • UI와 서버로 구성
R로 Shiny 웹 애플리케이션 만들기

웹 앱이란?

NY Times "Paths to the White House" 웹 앱 GIF

  • 각 대선 후보의 백악관 진입 경로를 시각화합니다.
R로 Shiny 웹 애플리케이션 만들기

웹 앱이란?

  • DataCamp 모바일 앱

DataCamp 모바일 앱의 연습 문제 예시를 보여주는 GIF

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

웹 앱은 어떻게 동작하나요?

웹 앱은 사용자 입력/상호작용에 따라 업데이트됩니다 클라이언트와 서버가 인터넷의 웹 앱을 구동하도록 연결되는 방식을 보여주는 다이어그램

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

Shiny란?

Shiny란 무엇인지 보여주는 다이어그램으로, 서버 코드와 UI가 분리되어 있으나 함께 작동해 앱을 만든다는 점을 표시

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

데이터 과학자가 왜 웹 앱을 만들어야 할까요?

Iris 데이터셋을 sepal.length와 sepal.width로 클러스터링하여 3개 군집을 생성한 모습

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

데이터 과학자가 왜 웹 앱을 만들어야 할까요?

plot_kmeans(
  data = iris, 
  x = 'Sepal.Length', 
  y = 'Sepal.Width', 
  nb_clusters = 3
)

Iris 데이터셋을 sepal.length와 sepal.width로 클러스터링하여 3개 군집을 생성한 모습

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

데이터 과학자가 왜 웹 앱을 만들어야 할까요?

library(shiny)
ui <- fluidPage(
  h1('K-Means Clustering App'),
  selectInput('x', 'Select x', names(iris), 'Sepal.Length'),
  selectInput('y', 'Select y', names(iris), 'Sepal.Width'),
  numericInput('nb_clusters', 'Select number of clusters', 3),
  plotly::plotlyOutput('kmeans_plot')
)

server <- function(input, output, session){
  output$kmeans_plot <- plotly::renderPlotly({
    plot_kmeans(iris, input$x, input$y, input$nb_clusters)
  })
}

shinyApp(ui = ui, server = server)
R로 Shiny 웹 애플리케이션 만들기

데이터 과학자가 왜 웹 앱을 만들어야 할까요?

Iris 데이터셋에 K-평균 클러스터링을 수행하는 웹 앱

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

연습해 봅시다!

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

Preparing Video For Download...