我已经为我已安装的软件包编写了一个函数。 在其中我只想写一个声明,一旦我们调用它,需要自动安装一个新的包。我想使用下面的函数安装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")
} }
答案 0 :(得分:3)
library pacman为你做这件事。
e.g。
pacman::p_load(data.table, lubridate)
加载库并在它们不可用时安装它们。
答案 1 :(得分:1)
这种一般方法怎么样:
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()])
}