在 R 中自动安装新包

Automatically install a new package in R

我已经为我已经安装的包写了一个函数。 在其中我只想写一个声明,一旦我们调用它,就需要自动安装一个新包。我想使用下面的这个函数安装 ROCR 包。

libraries <- function()

list.of.packages <- c("caTools", "caret", "glmnet","rpart","rpart.plot","randomForest","rattle",
                   "e1071")
new.packs<- if(list.of.packages[!list.of.packages %in% installed.packages() [,"Package"])]{
install.packages("new.packs")
library(new.packs)
}else {
print("All packages installed")

} }

这个通用方法怎么样:

if(!"caret" %in% installed.packages()) install.packages("caret")

可以根据您的需要进行调整,例如获取尚未安装的软件包的矢量,然后将其传递给 install.packages:

list.of.packages <- c("caTools", "caret", "glmnet","rpart","rpart.plot","randomForest","rattle",
                      "e1071")

if(length(which(!list.of.packages %in% installed.packages()))){
  install.packages(list.of.packages[!list.of.packages %in% installed.packages()])
}

library pacman 会为你做这件事。

例如

pacman::p_load(data.table, lubridate)

加载库并在它们不可用时安装它们。