Skip to content

Instantly share code, notes, and snippets.

@stevenworthington
Created July 25, 2012 19:44
Show Gist options
  • Save stevenworthington/3178163 to your computer and use it in GitHub Desktop.
Save stevenworthington/3178163 to your computer and use it in GitHub Desktop.
Install and load multiple R packages at once
# ipak function: install and load multiple R packages.
# check to see if packages are installed. Install them if they are not, then load them into the R session.
ipak <- function(pkg){
new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
if (length(new.pkg))
install.packages(new.pkg, dependencies = TRUE)
sapply(pkg, require, character.only = TRUE)
}
# usage
packages <- c("ggplot2", "plyr", "reshape2", "RColorBrewer", "scales", "grid")
ipak(packages)
@JonathonMifsud
Copy link

Thank you for this!

@igorfarah
Copy link

Awesome!!

@sharonsunpeng
Copy link

Very useful function. Thanks for sharing this!

@timathomas
Copy link

I love this function!! Made an edit to install and/or load GitHub packages

ipak_gh <- function(pkg){
    new.pkg <- pkg[!(sub('.*/', '', pkg) %in% installed.packages()[, "Package"])]
    if (length(new.pkg)) 
        remotes::install_github(new.pkg, dependencies = TRUE)
    sapply(sub('.*/', '', pkg), require, character.only = TRUE)
}

# Example
ipak_gh(c("lmullen/gender", "mtennekes/tmap", "jalvesaq/colorout", "timathomas/neighborhood", "arthurgailes/rsegregation"))

@albertjimrod
Copy link

Another person happy thanks to you.
Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment