Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
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")

DaveInga commented May 9, 2015

Been looking for this function for awhile - Thanks!

rizwaan commented Jul 1, 2015

Saved my day. Thanks

Useful function. Thanks!

b-long commented Sep 11, 2015

Wait a minute... Is this really not in the core ?

Thanks for providing it! 😃 :octocat:

rentrop commented Oct 1, 2015


Awsome Steven

asatito commented Jan 13, 2016

Thanks! Pretty useful

Thank you very much! Super useful.

Hello stevenworthington,
I am not used to R, i am unix administrator. Could you please help to execute r packages in one shot. ( very Urgent)
As i dont have internet to the server, so cran not possble. I download the files locally and perform by this way in R console,

install.packages("/tmp/R_binaries_gz/Rsolnp_1.16.tar.gz", repos=NULL, type="source")

i have to change the package name and execute it manually for the rest of the package.

Thanks in Advance :)

Using R 3.2.3 on linux. The if (length(new.pkg)) test is always returning true, so the packages are all being reinstalled even when not necessary.

Espanta commented Apr 23, 2016

You can check and use lubripack package which is an s3 package on github. It is a bit easier and robust to use. github/espanta/lubripack -> here

MatthewSchumwinger commented May 5, 2016

Just what I need after upgrading to latest version of R. Good stuff. Thank you.

Thanks for this ! I honestly use this in all my R!

Thanks a lot!

Thanks! Huge help


Awesome Thanks!!!

Hintza commented Jun 17, 2017


Sarmentor commented Jul 14, 2017

Thanks, I've changed it a little and added top 100 packages. This was useful in a new fresh R installation I had to do. You might have failing packages depending on your system features or installed libraries. You might have to run it several times to install every package. Best

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)
packages <- c("ggplot2", "plyr", "reshape2", "RColorBrewer", "scales", "grid", c("plyr","digest","ggplot2","colorspace","stringr","RColorBrewer","reshape2","zoo","proto","scales","car","dichromat","gtable","munsell","labeling","Hmisc","rJava","mvtnorm","bitops","rgl","foreign","XML","lattice","e1071","gtools","sp","gdata","Rcpp","MASS","Matrix","lmtest","survival","caTools","multcomp","RCurl","knitr","xtable","xts","rpart","evaluate","RODBC","tseries","DBI","nlme","lme4","reshape","sandwich","leaps","gplots","abind","randomForest","Rcmdr","coda","maps","igraph","formatR","maptools","RSQLite","psych","KernSmooth","rgdal","RcppArmadillo","effects","sem","vcd","XLConnect","markdown","timeSeries","timeDate","RJSONIO","cluster","scatterplot3d","nnet","fBasics","forecast","quantreg","foreach","chron","plotrix","matrixcalc","aplpack","strucchange","iterators","mgcv","kernlab","SparseM","tree","robustbase","vegan","devtools","latticeExtra","modeltools","xlsx","slam","TTR","quantmod","relimp","akima","memoise"))

thanks a lot!


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