R에서 패키지를 설치하는데 가장 많이 쓰지는 두가지 함수는 아마도 CRAN을 미러로 쓰는 install.packages()와 Github를 미러로 쓰는 devtools::install_github() 함수일 것입니다. 설치된 패키지는 library() 함수를 이용해서 불러올 수 있는데, 이 함수는 여러개의 함수를 동시에 불러 올 수 없을 뿐더러 패키지 다운로드-설치-불러오기를 한꺼번에 할수도 없습니다.

이런 문제(?)를 해결하려면 pacman 패키지의 p_load 함수를 쓰면 간단한데, 한가지 단점이 있다면 CRAN에 제공되어 있는 패키지만 일괄적으로 다운로드-설치-불러오기가 가능하다는 것입니다(2018/07/09 기준). 기존에 devtools::install_github()함수를 이용해 설치가 되어 있는 패키지라면 불러오기가 가능하지만 본인의 R에 설치되어 있지 않는 상태라면 오류가 발생합니다.

librarian 패키지

pacman::p_load()함수의 모자란 2%를 채워주기 위해 도서관 사서님(librarian)이 나오셨습니다.

패키지를 인스톨합니다. 패키지 개발자는 Desi Quintans입니다.

install.packages("devtools")
devtools::install_github("DesiQuintans/librarian")

본 패키지의 shelf() 함수를 이용하면 CRAN과 Github에 등록된 패키지의 다운로드-설치-불러오기의 일원화가 가능합니다.

librarian::shelf(dplyr, DesiQuintans/desiderata, purrr)

또한 check_attached() 함수를 통해 부착된 패키지가 무엇인지 체크해볼 수도 있고,

librarian:::check_attached()
##  [1] "desiderata" "purrr"      "dplyr"      "stats"      "graphics"
##  [6] "grDevices"  "utils"      "datasets"   "methods"    "base"

unshelf 함수를 이용해 패키지를 언로드할 수도 있습니다.

librarian::unshelf(dplyr, purrr)

reshelf 함수는 패키지를 언로드했다가 다시 로드할 수 있는데, 특히 퍼스널 패키지를 만들어 이용하는 경우에 패키지 내 함수를 새로 만들거나 업데이트한 후 바로바로 작업환경으로 돌아오는데 유용하게 쓰일 수 있습니다.