standing on the shoulders of giants

아마 논문을 한번이라도 검색해보신 분이라면 매우 익숙한 말일 것입니다. 구글 학술검색의 맨 첫페이지에 있는 말이죠.

뉴턴이 말하는 거인의 어깨는 다른 선배 연구자들의 학술적인 업적(논문)이 될 것 같습니다. 저는 오랜기간 SAS를 사용해 왔는데 SAS 개발자들에게 사실 별로 감사하는 마음을 느낀 적이 없습니다. (직접 지불하진 않았지만)어쨌든 제가 속한 community에서 SAS에 합당한 대가를 지불하고 있었기 때문입니다.

하지만 이분들에게는 정말 감사하다는 말을 하고 싶습니다.

  1. Hadley Wickham
  2. R core team
  3. Kirill Muller
  4. Torsten Hothorn
  5. Yihui Xie

이분들은 바로 제가 많이 쓰는 R 패키지의 베스트-뽜이브 개발자분들이십니다. 제게 돈한푼 받지 않으면서도 필요한 패키지를 개발해 주시고 심지어 책도 pdf로 공개해주시는 천사같은 분들이시죠. 선생님 저도 꼭 사회에 도움이 되는 사람이 되겠습니다.

지금부터 거인(R 개발자)의 어깨에 올라서서 더 넓은 세상을 바라보게 해주신 고마운 이분들에게 감사하는 시간을 갖도록 하겠습니다.

패키지를 설치하고(고맙습니다 Dirk Schumacher)

install.packages("thankr")

로딩해줍니다

library(thankr)

thankr 패키지는 거인의 어깨를 의미하는 shoulders() 함수 하나만 존재합니다. 제 은밀한 취향library에 있는 패키지들을 누가 만들었는지 보겠습니다.

thankyou <- shoulders("library")

다른분들에게 죄송하지만 지면관계(?)상 10명만..

head(thankyou, 10)
##                                         maintainer no_packages
## 1              Hadley Wickham <hadley@rstudio.com>          21
## 2               R Core Team <R-core@r-project.org>          15
## 3             Kirill Muller <krlmlr+r@mailbox.org>          10
## 4  Torsten Hothorn <Torsten.Hothorn@R-project.org>          10
## 5                       Yihui Xie <xie@yihui.name>          10
## 6             Brian Ripley <ripley@stats.ox.ac.uk>           9
## 7     Martin Maechler <maechler@stat.math.ethz.ch>           8
## 8            Gabor Csardi <csardi.gabor@gmail.com>           8
## 9      Achim Zeileis <Achim.Zeileis@R-project.org>           7
## 10         Kurt Hornik <Kurt.Hornik@R-project.org>           7
##                                                                                                                                                                           packages
## 1  assertthat, dbplyr, devtools, dplyr, forcats, ggplot2, gtable, haven, httr, lazyeval, modelr, plyr, pryr, rappdirs, reshape, roxygen2, rvest, scales, stringr, tidyr, tidyverse
## 2                                                base, compiler, datasets, graphics, grDevices, grid, methods, parallel, splines, stats, stats4, tcltk, tools, translations, utils
## 3                                                                                                       bindr, bindrcpp, blob, DBI, hms, pillar, plogr, rprojroot, RSQLite, tibble
## 4                                                                                              coin, inum, ipred, libcoin, modeltools, multcomp, mvtnorm, party, partykit, TH.data
## 5                                                                                                       DT, evaluate, formatR, fun, highr, knitr, markdown, mime, rmarkdown, tufte
## 6                                                                                                                 boot, boot, class, class, KernSmooth, MASS, nnet, rpart, spatial
## 7                                                                                                        bitops, cluster, diptest, expm, fracdiff, robustbase, sfsmisc, stabledist
## 8                                                                                                                 cli, crayon, desc, igraph, pkgconfig, prettyunits, progress, zip
## 9                                                                                                                colorspace, Formula, fortunes, lmtest, sandwich, strucchange, zoo
## 10                                                                                                                              NLP, RWeka, RWekajars, slam, tau, textcat, tseries

위와 같이 maintainer, 패키지의 개수, 패키지 이름이 출력됩니다. 간단히 ggplot2를 이용하여 시각화를 해보겠습니다. 고맙습니다 Hadley Wickham!

library(ggplot2)

ggplot(head(thankyou,20)[1:2], aes(x=reorder(maintainer,no_packages), y=no_packages)) + geom_col() + theme(axis.text.x=element_text(angle=45, hjust=1))

고마운 분들이 참 많습니다. 덕분에 정말 많이 배웁니다..