tags:

views:

67

answers:

2

R users are advised to download R and R packages from local CRAN mirrors. But some are outdated. Is there an easy way to check if a repository is outdated? Any function in R that does that?

+4  A: 

One way is to look at $CRANMIRROR/src/contrib and sort by date (by clicking twice on date) so that you can compare the most recent package on the mirror on what the master host carries.

Beyond that, you could use R itself and point available.packages() at the master as well as at a mirror -- if the result sets are different there may be an issue (or you hit the point between master update and mirroring).

Here is a quick example:

> 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
> 
Dirk Eddelbuettel
Good. Having the same number of packages as the main site does not mean that the mirror is up to date, but at least not very outdated.
ggg
+6  A: 

http://cran.r-project.org/mirmon_report.html

hadley
Neat feature... I haven't got a bloody idea that there's a tool like this! Thanks.
aL3xa