将稳定的软件包与R的早期版本进行匹配?

问题描述 投票:1回答:1

我有一个安全的内部网络,可以从内部文件夹中安装预先批准的R软件包。

我工作的实体正在更新到R的新版本(3.6.2),但有些实体需要在3.5.2上保留几个月。我知道许多软件包都是R版本特定的。我希望汇总一下每个版本的CRAN软件包的版本,以确保相应地更新此内部文件夹。

最佳的资源是什么?

到目前为止,我唯一能看到的是用每个版本初始化一个虚拟环境并遍历每个软件包,除非找到了同一船上的其他人更有效的方法?

r package version cran
1个回答
0
投票

您可以尝试使用miniCRAN::pkgDep。从help("pkgDep")

对Depends,Imports和LinkLibrary执行递归检索。对“建议”执行非递归检索。

library(miniCRAN)
packages <- pkgDep("data.table")
packages
 [1] "data.table"  "bit"         "R.oo"        "R.methodsS3" "evaluate"    "highr"       "markdown"    "stringr"     "yaml"        "xfun"       
[11] "mime"        "glue"        "magrittr"    "stringi"     "zoo"         "lattice"     "bit64"       "RcppCCTZ"    "Rcpp"        "curl"       
[21] "R.utils"     "knitr"       "xts"         "nanotime"  

然后您可以使用base::available.packages中的信息:

avail.pack <- available.packages()
unique(avail.pack[rownames(avail.pack) %in% packages,"Depends"])
 [1] "R (>= 2.9.2)"                                         "R (>= 3.0.1), bit (>= 1.1-12), utils, methods, stats"
 [3] "R (>= 3.0.0)"                                         "R (>= 3.1.0)"                                        
 [5] "R (>= 3.0.2)"                                         "R (>= 3.1)"                                          
 [7] "R (>= 3.2.3)"                                         NA                                                    
 [9] "R (>= 2.11.1)"                                        "R (>= 2.13.0)"                                       
[11] "R (>= 2.13.0), R.methodsS3 (>= 1.7.1)"                "R (>= 2.14.0), R.oo (>= 1.23.0)"                     
[13] "R (>= 2.14)"                                          "zoo (>= 1.7-12)"                                     
[15] "R (>= 3.1.0), stats"              
© www.soinside.com 2019 - 2024. All rights reserved.