learnTidy

</img>

지지난주, Shiny Contest 2020에 한 8시간 정도 들이부어서 만든shinyAssemble을 제출할 당시만 해도, 꽤나 만족스러웠었다.

그 이유는,

  • 저번 기준 대출 136개 제출에 31개 수상이었으니 얼추 상위 20% 안에만 들면 된다는 계산을 세움.
  • 60개 정도가 제출 된 상태였기 때문에, 기적의 계산법을 통해, 마감기한인 3월 20일 까지 추가로 60개가 더 올라온다고 가정
  • 나보다 잘 만든게 30개가 안되면 수상 가능성 매우 높음

이라고 생각 했기 때문이다.


그 당시 보면서 이마를 쳤던 작품 7개는 아래와 같다. (가나다순)

  • FIFADash : Shiny 로 FM을 만든것 처럼 소개함. 진짜로 FM을 만들었던, 소개를 기똥차게 했던, 미친놈인건 똑같음.
  • Hangman : Shiny 로 Hangman을 만듬.
  • lcars : Star Trek 식으로 Shiny dashboard 테마를 만듬. 새로운 테마는 언제나 환영이지
  • MICA_shiny : 화합물을 어떻게 한거 같은데, 잘 모르겠고 암튼 있어보이게 만듬.
  • riddlr : Shiny로 quiz 프로그램을 만든것 같음. 신 기술들을 잘 꾸겨넣은건 아닌데 소재가 띠용.
  • Sidewalkqualiry : (아마) 저자가 사는 동네 근처의 도로 상태를 시각화 함. 가장 informative 한 shiny application.
  • WesAndersonActorNetwork : 그냥 network visualize라서, vis.js 끌어다 썼던걸로 기억함.

개인 취향에 따라 갈릴 만한 것도 물론 있겠지만, 앞으로 7개가 더 이마를 치게 한다고 해도 15/120 => 수상각 개꿀이기 때문에 행복회로를 열심히 돌렸다. 가령 수상하면 오는 prize 들은 어떻게 배송받지 와 같은 진짜 쓸데 없는 걱정들.


그치만

킹치만 세상에

image

Covid-19가 해냈따.
Covid-19 때문에 나가지도 못하고 심심할테니 shiny 나 만들어서 제출해 ! 라는 뜻인지
마감기한이 2주 연장 되버렸다. (기적의 계산법 변경으로 수상 가능성이 0에 수렴한다는 뜻)

그로 인해 오늘 기준 ( 3/22 ) 내 이마를 치게 하는 고수들의 작품이 15개가 추가로 나왔으니 (알파벳순)

  • Bare Bones Trading Card Game : 무슨 보드겜인지 모르겠는데 아무튼 보드게임 시뮬레이터.
  • Bob Ross : 뭔진 모르겠는데 암튼 그럴싸해보이는 어플.
  • COVID-19 Data Visualization Platform : 악의 축, 악질 0호기, 이 양반을 시작으로 온갖 Covid 어플리케이션이 다 튀어 나옴
  • COVID-19 in Japan : Covid 코인 하나 추가.
  • deminR : Shiny 로 지뢰찾기를 만들었음. 이 양반이 진짜 미친놈인건 모바일까지 염두해서 구현해 놓았다는것.
  • Dude, Where’s My Bus : 버스 API 긁어서 Shiny에 뿌림. 이쁜건 아닌데 실용성 좋음.
  • interactingan : Shiny 로 Interactive 한 presentation template. 나중에 한번 따봐야 할 것 같다.
  • Kupe - Data explorer : 악질, 상업용 홈페이지를 제출함.
  • Metaboseek : 악질, 논문용을 여기에 냄. 차이는 Mass Spectrometry 데이터.
  • Monty Hall Problem : Shiny 로 Monty Hall Problem 시뮬레이션 만듬. 후기는 좋으나 동키 이미지 갖다 쓴 거 걸리면 흠흠.
  • Probably Pancakes : 팬케이크 레시피를 와이프 레시피 기반으로 딥러닝으로 추측한댔나, 혁신적으로 미친놈
  • ReDaMoR : Relational Data Modeler를 visualize 함.
  • rnaseqDRaMA : RNA-seq data visualization. 악질, 논문용을 여기에 또 냄. BI로 와라 비겁한 친구들아
  • Trickerion : 무슨 보드겜인진 모르겠는데 아무튼 보드게임 시뮬레이터.
  • whatRshiny : Shiny로 Jeopardy ( 퀴즈 프로그램 ) 만듬. Rstudio 직원이었나.

전체 제출이 아마 140개였으니, 얼추 처음 기적의 계산법은 맞았다. 문제는 앞으로 2주면 더 무시무시한게 튀어나온다는거지.


그래서 하나 더 만들어서 내기로 했다.

R에는 styler라는 걸출한 패키지가 있지만, 여전히 코딩스타일은 중요한 이슈라고 생각하는데,
Rstudio에서 권장하는 스타일 중 하나인 tidyverse style을 shiny에 끼얹으면 어떨까 하는 생각에서 시작했고,
관심 두던 rmarkdownlearnr도 써볼겸 만들었다. (하지 말았어야 했다)

영혼의 똥꼬쇼를 벌인 끝에 내가 극복해낸 것들은 다음과 같다

  • learnr design customize
  • rmarkdown custom template 적용
  • learnr pandoc template customize
  • learnr tutorial 함수 따다가 임의로 수정 후 새 패키지에 박아서 사용.
  • shinyapps.io에 user package 사용해서 deploy. (이게 제일 짜증났음)
  • 새봄맞이 고양이 털 밀기

learnr에 공식으로 올라와 있는 예시들은, 놀랄만큼이나 디자인이 구렸고.
마찬가지로 customize 방법이라고 올려놓은것도 매우 성의도, 내용도 없었다.

그러나 나는 카피닌자처럼 니 함수 쩔더라를 시전, 다 따버렸고. 전부 수정 후 이미지까지 퍼다가 박았다.

</img>

(주말 꼬박 들이부어 얻어낸 이미지)


미래의 나를 위해 custom package shinyapps.io deploy 팁을 써두자면

  • code 따기, emo 패키지 사용 하지 말기 (에러 남)
  • rmd knitr test
  • package build test
  • install.package(‘devtools’)
  • library(devtools)
  • devtools::install_github(‘jhk0530/learnTidy’)
  • library(learnTidy), 절대 로컬 빌드 아님
  • deploy 하는 동안 이미지 보면서 푸싱~♪ 푸시가 잘 대내요오~ 주문 외우기. 제일 중요, 춤은 안 춰도 됨

image

개피곤하다 진짜. 모동숲 사놓고 하지도 못했네

다음 주말에는 모동숲 데이터 뿌리는 shiny 어플리케이션 만들어야지.

Updated:

Comments