Install and load missing specified/needed packages on the fly
[This article was first published on R by Emmanuel Jjunju, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
This is a short script to help installing packages on the fly.It is most useful if you are distributing a set of script files to people who may not be aware that the needed packages are not installed on their systems. It is also useful if you use many packages and want to organise their installation (if missing) and/or loading at the beginning of a script.Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Enjoy:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#A short script to help installing packages on the go | |
#Most useful if you are distributing a set of script files to people who may not be aware that the needed packages are not installed | |
#Also useful if you use many packages and want to organise their loading at the beginning of a script | |
need<-c("jpeg","tcltk2","zoo") #needed packages for a job | |
ins<-installed.packages()[,1] #find out which packages are installed | |
(Get<-need[which(is.na(match(need,ins)))]) # check if the needed packages are installed | |
if(length(Get)>0){install.packages(Get)} #install the needed packages if they are not-installed | |
eval(parse(text=paste("library(",need,")")))#load the needed packages |
To leave a comment for the author, please follow the link and comment on their blog: R by Emmanuel Jjunju.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.