[R] Install package automatically if not there?

Joshua Wiley jwiley.psych at gmail.com
Thu Jun 24 22:51:55 CEST 2010


Hello Ralf,

This is a little function that you may find helpful.  If the package
is already installed, it just loads it, otherwise it updates the
existing packages and then installs the required package.  As in
require(), 'x' does not need to be quoted.

load.fun <- function(x) {
  x <- as.character(substitute(x))
  if(isTRUE(x %in% .packages(all.available=TRUE))) {
    eval(parse(text=paste("require(", x, ")", sep="")))
  } else {
    update.packages() # recommended before installing so that
dependencies are the latest version
    eval(parse(text=paste("install.packages('", x, "')", sep="")))
  }
}

HTH,

Josh

On Thu, Jun 24, 2010 at 12:25 PM, Ralf B <ralf.bierig at gmail.com> wrote:
> Hi fans,
>
> is it possible for a script to check if a library has been installed?
> I want to automatically install it if it is missing to avoid scripts
> to crash when running on a new machine...
>
> Ralf
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Joshua Wiley
Ph.D. Student
Health Psychology
University of California, Los Angeles



More information about the R-help mailing list