将稳定包与以前版本的 R 匹配?

Posted

技术标签:

【中文标题】将稳定包与以前版本的 R 匹配?【英文标题】:Match Stable Packages to Previous Versions of R? 【发布时间】:2020-09-21 04:45:57 【问题描述】:

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

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

最好的资源是什么?

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

【问题讨论】:

【参考方案1】:

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

对 Depends、Imports 和 LinkLibrary 执行递归检索。对 Suggests 执行非递归检索。

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"              

【讨论】:

以上是关于将稳定包与以前版本的 R 匹配?的主要内容,如果未能解决你的问题,请参考以下文章

错误:多个包与指定模式匹配:*.deploy.cmd。请限制搜索模式

以前的捆绑包版本和更新的捆绑包版本不匹配

Spring Cloud与Spring Boot版本匹配关系

如何确定哪个旧版本的 R 包与我的 R 版本兼容

R:将Shapefile 1中的多边形与shapefile 2中的区域代码匹配

origin2021与r语言哪个版本匹配