#' Install and load R packages
#' @param pkgs R-package in question
#' @return: installed and loaded package
#' @importFrom utils install.packages
#' @examples
#'\dontrun{load_packages(c("base", "jpeg"))}
#' @export
load_packages <- function(pkgs) {
pkgs_miss <-
pkgs[which(!pkgs %in% utils::installed.packages()[, 1])]
if (length(pkgs_miss) > 0) {
utils::install.packages(pkgs_miss)
}
if (length(pkgs_miss) == 0) {
message("\n ...Packages were already installed!\n")
}
# install packages not already loaded:
pkgs_miss <-
pkgs[which(!pkgs %in% utils::installed.packages()[, 1])]
if (length(pkgs_miss) > 0) {
utils::install.packages(pkgs_miss)
}
# load packages not already loaded:
attached <- search()
attached_pkgs <- attached[grepl("package", attached)]
need_to_attach <-
pkgs[which(!pkgs %in% gsub("package:", "", attached_pkgs))]
if (length(need_to_attach) > 0) {
for (i in 1:length(need_to_attach))
require(need_to_attach[i], character.only = TRUE)
}
if (length(need_to_attach) == 0) {
message("\n ...Packages were already loaded!\n")
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.