2010-06-02 26 views
9

建议R用户从本地CRAN镜像下载R和R包。但有些已经过时了。有没有简单的方法来检查版本库是否过期? R中的任何函数都可以做到这一点?如何检查CRAN镜像是否过期?

回答

6

一种方法是查看$ CRANMIRROR/src/contrib并按日期排序(通过在日期点击两次),以便您可以比较镜像上主控主机所承载的最新软件包。

除此之外,您可以使用R本身,并指向available.packages()在主人和镜像 - 如果结果集不同,可能会有问题(或者您主要更新和镜像之间的点)。

下面是一个简单的例子:

> main <- available.packages("http://cran.r-project.org/src/contrib", 
+       method="wget") 
> usmirror <- available.packages("http://cran.us.r-project.org/src/contrib", 
+        method="wget") 
> nrow(main) 
[1] 2381 
> nrow(usmirror)     ## so the US mirror is 2 packages behind 
[1] 2379 
> setdiff(rownames(main), rownames(usmirror))  
[1] "ProbForecastGOP" "semPLS" ## and these are the two 
> 
+0

好。拥有与主站点相同数量的包并不意味着镜像是最新的,但至少不是非常过时。 – ggg 2010-06-02 08:11:57