如何不再在 R 中提示 install y/n 进行无监督实验?

How no more install y/n prompts in R for unsupervised experimentation?

我正在一堆 PC 上测试插入符号支持的大多数模型。不幸的是 caret "suggested" 包不包括大多数可用于 caret 的模型包。每次出现新版本的 R 时,我都必须坐在每台 PC 前,等待每个提示按下 1 按钮和 Enter。我可以设置一个选项来告诉 R 或 Rstudio 只安装任何需要的东西吗?对于每个 a/s/n 提示也是如此。

list.of.packages <- c("caretEnsemble","logicFS"," RWeka","ordinalNet","xgboost","mlr","caret","MLmetrics","bartMachine","spikeslab","party","rqPen","monomvn","foba","logicFS","rPython","qrnn","randomGLM","msaenet","Rborist","relaxo","ordinalNet","rrf","frbs","extraTrees","ipred","elasticnet","bst","brnn","Boruta","arm","elmNN","evtree","extraTrees","deepnet","kknn","KRLS","RSNNS","partDSA","plsRglm","quantregForest","ranger","inTrees")


new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages, dep = TRUE)


install.packages("mlr", dependencies = c("Depends", "Suggests"))
install.packages("caret", dependencies = c("Depends", "Suggests"))

我使用的代码:

 list.of.packages <-getModelInfo(allmodel)[[1]]$library;
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])];
if(length(new.packages)) install.packages(new.packages, dep = TRUE)

此代码:

getPackages <- function(packs){
  packages <- unlist(
    tools::package_dependencies(packs, available.packages(),
                                which=c("Depends", "Imports", "Suggests"), # 
                                recursive=TRUE)
  )
  packages <- union(packs, packages)
  packages
}

packages <- getPackages(c("caret")) # add in other packages you want here
install.packages(packages)

from 允许您(递归地)安装来自 "Depends"、"Imports" 和 "Suggests"

的所有依赖项

但是,实际尝试此代码会导致 959 (!!) 包列表,因为 'Suggests'包。

因此,我建议您查看 the list of "Suggests" packages in CRAN 并将 caret 替换为您自己的列表,您必须自己仔细检查以确定您想要的包。

运行 来自 .bat

"C:\Program Files\R\R-3.4.2\bin\x64\R.exe" 命令批处理 ULTIMATESTACKING3skippingMCandUS.R

并添加

选项(repos=结构(c(CRAN="https://cran.cnr.berkeley.edu/")))

到 R 文件的开头