R/safeRequire.R

Defines functions safeRequire

Documented in safeRequire

#' Load a package, install if not available
#'
#' @param packageName The package
#' @param mirrorIndex The index of the mirror (1 is used if not specified)
#'
#' @export
safeRequire <- function(packageName, mirrorIndex=NULL) {
  if (!is.element(packageName, utils::installed.packages()[,1])) {
    if (is.null(mirrorIndex)) {
      utils::chooseCRANmirror(ind=1);
    } else {
      utils::chooseCRANmirror(ind=mirrorIndex);
    }
    utils::install.packages(packageName, dependencies=TRUE);
  }
  suppressPackageStartupMessages(require(package = packageName,
                                         character.only=TRUE,
                                         quietly=TRUE));
}

Try the ufs package in your browser

Any scripts or data that you put into this service are public.

ufs documentation built on July 9, 2023, 6:07 p.m.