The goal of repo.data is to make repository data accessible. Mainly it consumes existing data but the idea is to also generate it.
When a function is specific of a repository it will start with its name: cran_ or bioc_.
Installation
From CRAN:
install.packages("repo.data")You can install the development version of repo.data like so:
remotes::install_github("llrs/repo.data")Example
We can get a data.frame of all packages on CRAN archive:
library(repo.data)
#>
#> Attaching package: 'repo.data'
#> The following object is masked from 'package:stats':
#>
#> alias
ca <- cran_archive()
#> Warning: There are 5 packages both archived and published
#> This indicate manual CRAN intervention.
head(ca)
#> Package Datetime Version User Size Status
#> 1 A3 2013-02-07 10:00:29 0.9.1 hornik 45252 archived
#> 2 A3 2013-03-26 19:58:40 0.9.2 ligges 45907 archived
#> 3 A3 2015-08-16 23:05:54 1.0.0 hornik 42810 archived
#> 4 aae.pop 2026-01-31 19:40:13 0.2.0 ligges 899714 current
#> 5 AalenJohansen 2023-03-01 11:42:11 1.0 ligges 165057 current
#> 6 aamatch 2025-06-24 11:40:05 0.3.7 ligges 222104 currentWe can also check CRAN comments about the packages on its archive:
cc <- cran_comments()
#> Retrieving comments, this might take a bit.
#> Caching results to be faster next call in this session.
head(cc)
#> package
#> 1 A3
#> 2 aaSEA
#> 3 aba
#> 4 abbyyR
#> 5 abcADM
#> 6 abcdeFBA
#> comment
#> 1 Archived on 2025-06-13 as issues were not corrected despite reminders.
#> 2 Archived on 2022-06-21 as check problems were not corrected despite reminders.
#> 3 Archived on 2022-03-27 as check problems were not corrected in time.
#> 4 Archived on 2023-11-03 at the maintainer's request.
#> 5 Archived on 2023-03-02 as issues were not corrected in time.
#> 6 Archived on 2022-03-07 as check problems were not corrected in time.
#> date action
#> 1 2025-06-13 archived
#> 2 2022-06-21 archived
#> 3 2022-03-27 archived
#> 4 2023-11-03 archived
#> 5 2023-03-02 archived
#> 6 2022-03-07 archivedOr estimate the last date of update of our packages, by the information on the session info or a data.frame:
cran_session(session = sessionInfo())
#> [1] "2026-01-18 07:10:11 CET"
ip <- installed.packages()
cran_date(ip)
#> [1] "2026-01-29 23:20:11 CET"Related packages
Other packages and related analysis :
- Task views: https://github.com/epiverse-connect/ctv-analysis/
- static packages: pkgstats
- Bioconductor: biopkgtools
- R-universe: universe
- cranly: About package dependencies and authors of packages.
-
versions: A package about installing packages versions.
install.dates()requires a CRAN date, if you are unsure you can usecran_date()to estimate it given alibrary()or asessionInforeport. - checkpoint provides tools to ensure the results of R code are repeatable over time.
History
This package comes from the analysis on CRAN data on https://llrs.dev