pacman is an R package management tool that combines the functionality of base library related functions into intuitively named functions. This package is ideally added to .Rprofile to increase workflow by reducing time recalling obscurely named functions, reducing code and integrating functionality of base functions to simultaneously perform multiple actions.
install.packages("pacman") ## May need the following if binaries haven't been built yet: install.packages("pacman", type="source") ## Or install from GitHub via devtools: devtools::install_github("trinker/pacman")
Here are some of the functionalities the pacman authors tend to use most often:
p_load is a general use tool that can install, load, and update packages. For example, many blog posts begin coding with this sort of package call:
packs <- c("XML", "devtools", "RCurl", "fakePackage", "SPSSemulate") success <- suppressWarnings(sapply(packs, require, character.only = TRUE)) install.packages(names(success)[!success]) sapply(names(success)[!success], require, character.only = TRUE)
With pacman this call can be reduced to:
pacman::p_load(XML, devtools, RCurl, fakePackage, SPSSemulate)
p_temp enables the user to temporarily install a package. This allows a session-only install for testing out a single package without muddying the user’s library.
p_data enables the user to see the functions or data sets available in an add-on package.
p_functions(pacman) p_funs(pacman, all=TRUE) p_data(lattice)
Check out pacman’s vignettes: