r-在特定日期安装CRAN上存在的多个软件包



假设有人在5年前写了一个非常有效的脚本,但在今天安装包时却不起作用(并假设对某些包的更改非常显著(。

是否有任何方法可以在日期之前安装CRAN软件包。例如


install_CRAN_by_date("2016-05-01", c("rgdal", "sp", "dplyr", "trip"))

有什么简单的函数可以做到这一点吗?

使用checkpoint软件包和Microsoft的"CRAN时间机器";有CRAN 2014年的每日快照。

有关示例,请参见此checkpoint小插曲。基本上你会做

library(checkpoint)
checkpoint("2015-01-01")
library(your_favorite_cran_package)

假设UI给出了正确的发布日期('put_date'(,例如'dplyr'。从available.versions中获取基于"input_date"one_answers"version"列之间的match的"version",并使用它与install.versions一起安装

library(versions)
input_date <- "2019-06-29"
dplyr_versions <- available.versions('dplyr')$dplyr
vers <- dplyr_versions[match(input_date, dplyr_versions$version)]$version
install.versions('dplyr', vers)

对于多个包,不确定所有包的发布日期是否相同。但是,如果是,则使用带有lapply的循环

最新更新