r - 安装旧版本的 R 包

标签 r installation version r-faq

我正在尝试使用 Rpy2 和 ggplot2 但出现错误。在网上搜索错误后,我发现发生错误是因为 ggplot2 包中存在尚未反射(reflect)在 Rpy2 中的更改(例如,参见 this post (编辑:链接现已失效))。

所以我现在需要安装旧版本的 ggplot2。这是我想要的伪代码:

install.packages("ggplot2", version='0.9.1')

但是install.packages does not have a version argument 。我该怎么做?

最佳答案

从源代码(R 内)安装旧版本的软件包:

packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

如果这对您不起作用并且您使用的是 Windows,原因可能是 the lack of an appropriate tool chain for building/compiling packages 。通常您会从 CRAN 安装预编译的二进制文件,但它们仅存档包,而不是二进制文件。[1] 这意味着您需要安装 Rtools这样你就可以在本地编译所有内容。 (注:Rtools is not an R package 。)

@shadow的回答below还表明您可以使用 devtools::install_version() 。这也是一个好主意,但也需要 Windows 上的 Rtools。

截至 2015 年 9 月 18 日,a new package versions has appeared on CRAN 。这依赖于Revolution Analytics MRAN服务器安装特定版本或日期的软件包:

# install yesterday's version of checkpoint, by date
install.dates('checkpoint', Sys.Date() - 1)

# install earlier versions of checkpoint and devtools
install.versions(c('checkpoint', 'devtools'), c('0.3.3', '1.6.1'))

这样做的优点是不需要 Rtools 在 Windows 上安装二进制包,但仅适用于 2014 年 9 月 17 日(MRAN 启动时)。

从命令行(R 之外)安装旧版本:

一旦您的计算机上本地有软件包源(“tarball”),您还可以在命令行(终端、命令提示符等)上使用 R CMD INSTALL 来安装软件包,例如使用 wget (如果有的话):

wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz

或者,如果您使用的是 Windows,则使用 PowerShell 的等效方法是:

(new-object System.Net.WebClient).DownloadFile("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz", "./ggplot2_0.9.1.tar.gz")

或者您可以通过网络浏览器从 CRAN 存档下载源代码。

要从本地文件安装,您可以执行以下操作:

R CMD INSTALL ggplot2_0.9.1.tar.gz

这应该适用于任何平台(与上面相同的警告 - 关于需要一个工具链来构建包)。

<小时/>

[1]这不再完全正确。从2016年3月起,CRAN开始托管a "CRAN Archive" server包含非常旧版本的 R(> 5 年)的 Windows 和 Mac 二进制文件。现在,您可以使用 install.packages() 直接从此服务器进行安装。查看新R FAQ 7.44了解一些详细信息。

关于r - 安装旧版本的 R 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17082341/

相关文章:

pdf - 将日期和时间添加到 pdf 输出文件名

android - 自动安装安卓应用

selenium - PhantomJS 支持哪个 XPath 版本?

r - 使用 R 主成分分析。自动和手动结果不匹配

R 无法启动设备 PNG -Capability() 对于 PNG 具有 TRUE?

r - ggplot2:如何获得回归线方程的值,r^2 和 p 值?

c - 在windows下安装gtk并使用gcc编译?

ruby-on-rails - Windows 与 Linux 中的 Rails

python - 如何跟踪类版本号

hibernate - Hibernate在Grails应用中的版本值