37
누구나 쉽게 구현 가능한 R Shiny Dashboard

RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

  • Upload
    r-kor

  • View
    476

  • Download
    7

Embed Size (px)

Citation preview

Page 1: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

누구나 쉽게 구현 가능한R Shiny Dashboard

Page 2: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

R Shiny Dashboard도입 배경

Page 3: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

내가 생각한 이상적인 분석은?

Page 4: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

INPUT OUTPUT

Smart Solution

Page 5: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

하지만 현실은?

Page 6: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

데이터 추출 보고서 작성 보고서 제출

1. 보고서 작업시간 증대

Page 7: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

데이터 추출 보고서 작성 보고서 제출

1. 보고서 작업시간 증대

Page 8: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

2. 정적인 그래프의 한계

Page 9: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

반복되는 업무들을줄일수 없을까??

Page 10: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Shiny를 활용하면Interactive chart를 구현한 보고서가 가능!

Page 11: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Shiny의 기본구조를 살펴볼까요?

Page 12: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

ui.R

server.R

Shiny 기본구조 1

Page 13: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

App.R

Shiny 기본구조 2

Page 14: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Shiny를 구현은 했는데….어떻게 deploy를 해야할까…

Page 15: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

1. shinyapp.io

링크 : http://www.shinyapps.io/

Page 16: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

2. Shiny server를 활용!

Shiny server는 두개의 종류가 존재!

1. Shiny server pro

2. Shiny server open source

Page 17: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Shiny 서버 deploy 과정

서버급 PC 서버급 PC에Install

www.도메인.com:8787 or Ip_adress:8787

www.도메인.com:3838 or Ip_adress:3838

Page 18: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

www.도메인.com:8787 or Ip_adress:8787

1. 대시보드를 구현하기 위한 App.R 파일 생성2. 터미널에서 app.R 파일을 /srv/shiny-server 폴더내로 복사3. Ip_adress:3838/app_name 으로 대시보드 구현

1 2

3

Shiny 서버 deploy 과정

Page 19: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Deploy 방법까지 알게되었으니이제 구현만하면 끝!!

Page 20: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Shiny를 활용하여 구현 완료!!

Page 21: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

그러나….여전히 dashboard형태를구현하기엔 부족하다…

Page 22: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

우연히 발견한 AdminLTE!!!

Page 23: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

내가 보유한 스킬은 단순히 R…구현하기엔 한계가 보인다…

다른 언어를 배워서 시작할까…정말 R로는 한계가 있는걸까…

Page 24: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

하지만, 세계엔 능력자들이 많다는점!!

참고 링크 : https://rstudio.github.io/shinydashboard/

Page 25: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

나에겐 마치 한줄기의 빛과 같았던shiny dashboard!!!

참고 링크 : https://rstudio.github.io/shinydashboard/

Page 26: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

하지만… 여전히 숙제는 남아있었다..차트는 정말… ggplot으로만 구현을

해야만 하는가…

Page 27: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

역시나… 내가원하는건 언제든지 있다!참고 링크 : http://www.htmlwidgets.org/

Page 28: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

참고 링크 : http://www.htmlwidgets.org/

테이블 : DT package

차트1. highcharter package2. googleVis package

3. Plotly package4. d3heatmap package

Page 29: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

대시보드 구현 완료!

Page 30: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

하지만… 저건 대시보드일뿐…좀더 나은 리포팅을 만들 순 없을까?

Page 31: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

역시나.. 내가 원하는건 항상 존재한다!!

참고 링크 : http://rmarkdown.rstudio.com/flexdashboard/

Page 32: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Flexdashboard의 장점

1. Shiny dashboard처럼 ui.R, server.R구분이 필요없다.2. 단순히 rMarkdown format으로 심플한 구현이 가능!

참고 링크 : http://rmarkdown.rstudio.com/flexdashboard/

Page 33: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

대시보드도 구현을해보고,flexdashboard로 리포팅 포맷도 구현해봤습니다.

그러나… 항상 내머릿속을 맴돌던.. Dynamic Chart구현….

Page 34: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

역시나 나의 고민은 항상 기우였고.. 가능한 패키지는 존재하였다.

참고 링크 : https://rstudio.github.io/crosstalk/index.html

Page 35: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

Dashboard Report(with crosstalk & flexdashboard)

분석결과 공유의 심플화

Page 36: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

R은 더이상 분석용 프로그래밍 언어가아닙니다.

Interactive Graphic의 구현 이젠R만으로 가능합니다.

Page 37: RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현

감사합니다.