R/loadOrInstall.R

Defines functions loadOrInstall

Documented in loadOrInstall

loadOrInstall=function(package, dependencies="Depends",...)
{
    stopifnot(all(is.character(package)))
    ddd=list(...)
    singlePKG=function(pkg)
    {
        load.rslt=do.call('require',c(ddd, package=pkg, character.only=TRUE))
        if(isTRUE(load.rslt)) return(TRUE)
        do.call('install.packages',c(ddd, pkgs=pkg,dependencies=dependencies))
        do.call('require', c(ddd, package=pkg, character.only=TRUE, quietly = TRUE))
    }
    rslt=sapply(package, singlePKG)
    if(any(!rslt)) {
        ans=FALSE
        attr(ans,'failed')=package[!rslt]
    }else ans=TRUE
    ans
}

Try the pi0 package in your browser

Any scripts or data that you put into this service are public.

pi0 documentation built on May 2, 2019, 4:47 p.m.