[R] Install package automatically if not there?

Joshua Wiley jwiley.psych at gmail.com
Thu Jun 24 23:12:31 CEST 2010


On Thu, Jun 24, 2010 at 1:51 PM, Joshua Wiley <jwiley.psych at gmail.com> wrote:
> 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="")))
>  }
> }

I miscopied the last line; it should be....

###########
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="")))
    eval(parse(text=paste("require(", 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
>



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



More information about the R-help mailing list