如何返回到CRAN包的早期版本?
我正在查看如何返回到CRAN包的早期版本?,r,cran,R,Cran,我正在查看install.packages,我看不到任何指定特定版本的选项。有办法吗?我希望找到类似于install.packages(c('xts'),version='0.9.3') 我找到了这个答案: 但是,在安装devtools之后,我做到了: library(devtools) install_version('xts','0.9.3') 它给出了以下错误消息: Error in url(sprintf("%s/src/contrib/Archive.rds", repos), "r
install.packages
,我看不到任何指定特定版本的选项。有办法吗?我希望找到类似于install.packages(c('xts'),version='0.9.3')
我找到了这个答案:
但是,在安装devtools之后,我做到了:
library(devtools)
install_version('xts','0.9.3')
它给出了以下错误消息:
Error in url(sprintf("%s/src/contrib/Archive.rds", repos), "rb") :
cannot open the connection
In addition: Warning message:
In url(sprintf("%s/src/contrib/Archive.rds", repos), "rb") :
cannot open: HTTP status was '404 Not Found'
3: url(sprintf("%s/src/contrib/Archive.rds", repos), "rb")
2: gzcon(url(sprintf("%s/src/contrib/Archive.rds", repos), "rb"))
1: install_version("xts", "0.9.3")
(使用“0.9-3”,连字符而不是点,会产生相同的错误。)
Background:自从从0.9.3升级到0.9.4以来,我在xts rollapply函数调用中有一个回归。然而,当我查看在线svn存储库时,自我知道它上次起作用以来,似乎没有任何变化。因此,我想安装0.9.3(然后是0.9.2等)以确认问题的确切时间。如果所有其他操作都失败,您可以直接从CRAN获取源代码:现在,函数
安装版本
似乎与当前的CRAN存档有几个问题,并且您已经确定了前两个问题:
0.9-3
中的连字符替换为点src/contrib/Archive.rds
(它已移动到CRAN上的src/contrib/Meta/Archive.rds
)install\u version
,请加载库devtools
,但使用此稍加编辑的功能:
install_version <- function(package, version = NULL, repos = getOption("repos"), type = getOption("pkgType"), ...) {
contriburl <- contrib.url(repos, type)
available <- available.packages(contriburl)
if (package %in% row.names(available)) {
current.version <- available[package, 'Version']
if (is.null(version) || version == current.version) {
return(install.packages(package, repos = repos, contriburl = contriburl,
type = type, ...))
}
}
con <- gzcon(url(sprintf("%s/src/contrib/Meta/archive.rds", repos), "rb"))
on.exit(close(con))
archive <- readRDS(con)
info <- archive[[package]]
if (is.null(info)) {
stop(sprintf("couldn't find package '%s'", package))
}
if (is.null(version)) {
# Grab the latest one: only happens if pulled from CRAN
package.path <- info[length(info)]
} else {
package.path <- paste(package, "/", package, "_", version, ".tar.gz",
sep = "")
if (!(package.path %in% row.names(info))) {
stop(sprintf("version '%s' is invalid for package '%s'", version,
package))
}
}
url <- paste(repos, "/src/contrib/Archive/", package.path, sep = "")
install_url(url, ...)
}
install\u版本谢谢<代码>wgethttp://cran.r-project.org/src/contrib/Archive/xts/xts_0.9-3.tar.gz
后接R CMD INSTALL xts_0.9-3.tar.gz
工作正常。该问题是由na.fill.zoo
引起的,因此您无法通过查看以前的xts软件包找到它。尝试使用R-Forge上最新的zoo,看看这是否解决了问题。