以编程方式获取最新稳定的R版本号

3
我该如何使用R获取最新版本的R?我知道可以使用包中的函数,但是希望有一个基础解决方案,最好不要依赖于爬虫或正则表达式。
截至今天(2015年6月13日),所需结果为:3.2.0。

1
你认为在不检查 CRAN 的情况下可能实现吗? - Roland
@Roland 我的意思是有一个CRAN授权的函数可以完成这个任务,类似于检查软件包的utils :: available.packages。 检查CRAN是可以的。更令我担忧的是正则表达式,因为CRAN可能会更改其显示页面的方式,而他们发布的功能不太可能改变。 - Tyler Rinker
1
我认为CRAN镜像有一种方法可以获取最新的发布版本,无论它是什么。你可能可以使用那个。 - Joshua Ulrich
3
METACRAN提供API:http://www.r-pkg.org/services。 - Roland
1
甚至有一个封装了API的包,可以查看我刚刚添加的答案。 - Dirk Eddelbuettel
3个回答

4
另一个可能的选择:CRAN有一个版本信息的dcf文件。但我不确定它的更新是否可靠。
R> tmp <- tempfile()
R> download.file("http://cran.r-project.org/src/base/VERSION-INFO.dcf", tmp)
R> (x <- read.dcf(tmp))
     Release Old-release Devel  
[1,] "3.2.0" "3.1.3"     "3.3.0"

这很棒,有助于在任何语言中找到它。 - AodhanOL

3
使用METRCAN API (@Roland的评论):
library(RJSONIO)
fromJSON("http://rversions.r-pkg.org/r-release")[[1]][['version']]
[1] "3.2.0"

3

有一个新的软件包rversions,由Gabor开发,使服务更易于使用:

R> library(rversions)
R> r_release()
   version                        date
94   3.2.0 2015-04-16T07:13:33.144514Z
R> 
R> r_release()[[1]]
[1] "3.2.0"
R> 

如果您安装了 devtools,那么您可能已经安装了 rversions

该软件包有两个更多的功能:

  • 通过 r_oldrel() 获取先前的版本,以及
  • 通过 r_versions() 获取所有版本的向量

这个使用了爬虫/正则表达式,而这正是OP想要避免的。 - agstudy
它调用了一个专门为此目的编写的函数,并且可以可靠地工作。如果Hadley依赖它是好的,那么对于其他人来说也足够好了。此外,它还会去一个权威来源,即上游SVN存储库。 - Dirk Eddelbuettel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接