安装旧版本的R软件包
我试图使用Rpy2和ggplot2,但我得到一个错误。在联机搜索了一些错误之后,我发现出现错误是因为ggplot2包中的更改尚未反映在Rpy2中(例如,请参阅(编辑:链接现在已失效)) 因此,我现在需要安装ggplot2的旧版本。下面是我想要的伪代码:安装旧版本的R软件包,r,installation,version,r-faq,R,Installation,Version,R Faq,我试图使用Rpy2和ggplot2,但我得到一个错误。在联机搜索了一些错误之后,我发现出现错误是因为ggplot2包中的更改尚未反映在Rpy2中(例如,请参阅(编辑:链接现在已失效)) 因此,我现在需要安装ggplot2的旧版本。下面是我想要的伪代码: install.packages("ggplot2", version='0.9.1') 但是。如何操作?要从源代码(R中)安装较旧版本的软件包,请执行以下操作: 这样做的好处是不需要Rtools在Windows上安装二进制软件包,但只能追溯到
install.packages("ggplot2", version='0.9.1')
但是。如何操作?要从源代码(R中)安装较旧版本的软件包,请执行以下操作:
这样做的好处是不需要Rtools在Windows上安装二进制软件包,但只能追溯到2014年9月17日(MRAN启动时)
要从命令行安装旧版本(R之外):
一旦您的计算机上本地有包源(“tarball”),您也可以通过在命令行(终端、命令提示符等)上使用R CMD install
安装包,例如使用wget
(如果您有):
或者,如果您使用的是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")
或者,您也可以通过web浏览器从CRAN存档下载源文件
要从本地文件安装,只需执行以下操作:
R CMD INSTALL ggplot2_0.9.1.tar.gz
这应该适用于任何平台(与上面的警告相同,关于构建包需要工具链)
[1] 这已不再完全正确。从2016年3月起,CRAN开始托管包含Windows和Mac二进制文件的旧版本R(>5年)。现在,您可以使用
install.packages()
直接从此服务器安装。有关某些详细信息,请参阅new。使用另一个答案中描述的安装包对我不起作用
我找到的最佳替代方法是使用packagedevtools
中的函数install\uURL
我没有进一步探讨的另一种可能性:
从包存档下载旧的.tar.gz源文件
按照上记录的步骤在本地安装
remotes
软件包提供了一个可以直接执行此操作的install\u version
功能
require(remotes)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")
在此之前,此答案指向devtools
包,该包还重新导出install\u version
功能。感谢@MichaelChirico指出remotes
软件包更可取。您可以从以下链接下载相应的zip文件版本
在R Studio中:
工具>>安装软件包>>安装自:(选择下拉列表)
包存档文件(.zip、.tar.gz)。
选择您新下载的软件包zip文件并安装该软件包找到了一个很好的解决方案,它对我很有用(详细信息见)
“repmis”库中的命令:
#安装e1071和gtools软件包的旧版本。
#创建要安装的包名称和版本的矢量
#请注意,名称和版本号的顺序必须相同
名称纯install.packages
method
看。作为对Kurt Wheeler的回复,Kurt Hornik透露了CRAN网站的一个未记录的功能,以指定软件包的特定版本
只要您已经安装了所有必需的依赖项,此方法就可以工作:
package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)
注意上面的URL结构。这解决了CRAN最新版本的URL结构与存档版本的URL结构不同的问题:
# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz
remotes::install\u version
方法
另一个选项是使用remotes::install\u版本
。但是,您将需要安装遥控器
对于2014-09-17发布的软件包版本,有一个大大简化此任务的方法。它使用Revolution Analytics的MRAN服务器快照来:
- 显示任何CRAN包的发布日期和MRAN可用性(
可用。版本
)
- 安装一个或多个软件包的指定版本(
install.versions
),或
- 安装在任何指定日期(
install.dates
)可用的软件包版本。它通过标准的install.packages
功能从MRAN服务器进行安装,因此可以安装可用的二进制版本,而不必从源代码进行编译,并且可以包括指定日期的包依赖项
当然,包版本和R版本的组合可能存在兼容性问题。要运行不同的R版本,请参见示例。另一个选项是{groundhog}包。它通过指定日期帮助从CRAN安装较旧的软件包版本。当您不记得特定的软件包版本,而是不记得脚本仍在工作的时间时,这尤其有用。在{ggplot2}的情况下,0.9.1版于2012年5月加载到CRAN上,因此我们可以从6月开始计算日期
library("groundhog")
groundhog.library("ggplot2", "2012-06-01")
谢谢,我想这是正确的方法。太糟糕了,我现在收到:警告消息:package'http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz'不可用(适用于R版本2.15.2)
与Rcpp存在类似问题。这可能是由于包的R版本依赖关系(依赖:),或者运行的R会话不允许您执行更新。我发现对我有用的是按照Mark Butler(下面)建议的方式进行更新(R CMD安装您的_version.tar.gz)。这是我的R2.15.3版。@Antoine你在Windows上吗?“如果是,您是否安装了Rtools?”托马斯感谢您的回复。是的,我在Windows上安装了Rtools“pseudo installed”看到了吗。@Thomas我将尝试在Amazon EC2上运行我的脚本,以避免我的计算机上出现明显的本地问题(库路径、R版本与软件包版本、编译问题等)。请尝试检查编译?这对我不起作用,请按照我的问题了解详细信息。+1,R CMD INSTALL
命令在
# Install old versions of the e1071 and gtools packages.
# Create vectors of the package names and versions to install
# Note the names and version numbers must be in the same order
Names <- c("e1071", "gtools")
Vers <- c("1.6", "2.6.1")
# Install old package versions into the default library
InstallOldPackages(pkgs = Names, versions = Vers)
package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)
# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz
library("groundhog")
groundhog.library("ggplot2", "2012-06-01")