我在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)