Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如果未安装,请安装软件包(库)_R_Installation_Package - Fatal编程技术网

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

R 如果未安装,请安装软件包(库),r,installation,package,R,Installation,Package,我在R中使用了几个软件包,但我在一台可能已经安装了或没有安装部分/所有软件包的机器上运行脚本 软件包有zoo,quantmod,data.table,…,以及更多 这就是我尝试过的: 是否有任何方法可以检查这些软件包是否已安装,如果未安装,是否可以安装?我不希望R浪费时间重新安装任何已经存在的软件包 这就是我尝试过的: pckg = c("zoo", "tseries", "quantmod", "MASS", "graphics", "plyr", "data.table", "gridExt

我在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])
     }
 }
pckg=c(“动物园”、“tseries”、“quantmod”、“质量”、“图形”、“plyr”、“数据表”、“gridExtra”)

is.installed我使用这个方便的功能,而不是
,如果软件包丢失,则安装该软件包,然后
需要它:

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

usePackage在我看来,
require()
的行为取决于R编辑器。虽然
require()
在RKward中如上所述工作,但它没有使用RStudio。相反,RStudio会发出警告消息。因此,
require(XXX)| install.packages(“XXX”)
更安全,因为无论您使用的编辑器是什么,它都能正常工作。
r <- getOption("repos")
r["CRAN"] <- "http://cran.us.r-project.org"
options(repos = r)
rm(r)