如果未安装,请安装软件包(库)

May*_*you 9 install r package

我在R中使用了几个软件包,但是我在一台机器上运行脚本,可能已经安装了部分/全部软件包,也可能没有.

这些软件包zoo,quantmod,data.table,...,和一堆了.

这是我尝试过的:有没有办法检查是否安装了这些软件包,如果没有安装它?我不希望R浪费时间重新安装已经存在的任何软件包.

这是我尝试过的:

pckg = c("zoo", "tseries", "quantmod", "MASS", "graphics", "plyr", "data.table", "gridExtra") 

 is.installed <- function(mypkg){
    is.element(mypkg, installed.packages()[,1])
 } 

 for(i in 1:length(pckg)) {
    if (!is.installed(pckg[i])){
         install.packages(pckg[i])
     }
 }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

另外,我需要为安装自动设置镜像.我不知道该怎么做.

谢谢!

Ale*_*iev 10

我有这个便利功能,而不是library安装包,如果它丢失,那么require它:

usePackage <- function(p) {
    if (!is.element(p, installed.packages()[,1]))
        install.packages(p, dep = TRUE)
    require(p, character.only = TRUE)
}
Run Code Online (Sandbox Code Playgroud)

如果您需要全局选择CRAN镜像,这是一种方法:

r <- getOption("repos")
r["CRAN"] <- "http://cran.us.r-project.org"
options(repos = r)
rm(r)
Run Code Online (Sandbox Code Playgroud)