Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在特定日期安装CRAN上存在的多个软件包?_R_Cran - Fatal编程技术网

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

在特定日期安装CRAN上存在的多个软件包?,r,cran,R,Cran,假设有人在5年前编写了一个工作非常出色的脚本,但在今天安装软件包时却不起作用(并假设对某些软件包的更改非常重要) 有没有办法按日期安装CRAN软件包。比如说 install_CRAN_by_date("2016-05-01", c("rgdal", "sp", "dplyr", "trip")) 有没有简单的函数可以做到这一点?假设用户界面给出了正确的发布日期(“输入日期”),例如“dply

假设有人在5年前编写了一个工作非常出色的脚本,但在今天安装软件包时却不起作用(并假设对某些软件包的更改非常重要)

有没有办法按日期安装CRAN软件包。比如说


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


有没有简单的函数可以做到这一点?

假设用户界面给出了正确的发布日期(“输入日期”),例如“dplyr”。根据“输入日期”和“版本”列之间的匹配,从可用的
中获取“版本”。版本
,并使用它与
安装一起安装。版本

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)
库(版本)

输入日期使用
checkpoint
软件包和Microsoft的软件包,该软件包包含2014年以前的CRAN每日快照

有关示例,请参见。基本上你会的

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

有一个带有
versions
i..e
install.versions
的选项,您可以在其中指定软件包版本,如果您不知道该版本,请使用
available.versions('rgdal')
谢谢@akrun!你们知道有并没有什么东西是从版本中抽象出来的,只是最新的?因此,用户输入一个日期,该函数(如果存在)计算出需要安装的版本,并根据您的建议使用
versions
参数运行
install.packages()?这不是手册吗?你可以有可用的
版本('dplyr')
,它还返回'date'和'version'@akrun基本上用户有一个5年的脚本,不再工作了,但是如果她能像5年前那样安装包,我想它会工作的。