Data on Base Packages for Previous Versions of R
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
R update docs Oct 10, 2018
app Update app data Oct 10, 2018
data
man update docs Oct 10, 2018
.Rbuildignore notes to self Oct 10, 2018
.dockerignore
.gitignore trivia Mar 13, 2018
.travis.yml travis Mar 17, 2018
DESCRIPTION update description Oct 10, 2018
Dockerfile-lucid bugfix list-objects Oct 9, 2018
Dockerfile-sarge bugfix list-objects Oct 9, 2018
Dockerfile-trusty tweak dockerfiles to do mutable stuff later Oct 10, 2018
Dockerfile-trusty3.5 tweak dockerfiles to do mutable stuff later Oct 10, 2018
Dockerfile-woody Fixes for early R 1.x Jul 20, 2018
LICENSE.md initial commit Mar 9, 2018
NAMESPACE * rename fn_changed to fun_changed Mar 17, 2018
NEWS.md update docs Oct 10, 2018
NOTES notes to self Oct 10, 2018
R-versions-lucid.txt Build R 1.x versions. Jul 20, 2018
R-versions-sarge.txt Clarify docs Jul 21, 2018
R-versions-woody.txt Use woody for early 1.x versions: Jul 20, 2018
README.Rmd update readme Oct 10, 2018
README.md update readme Oct 10, 2018
Rcheology.Rproj initial commit Mar 9, 2018
Rversions.R
appveyor.yml appveyor Mar 17, 2018
control get column order right in list-objects and control Oct 9, 2018
install-R-source-earlybash.sh
install-R-source-versions.sh Use woody for early 1.x versions: Jul 20, 2018
install-versions.sh New Dockerfile for R 3.5 Jun 12, 2018
list-objects.R don't die if getNamespaceExports dies Oct 10, 2018
lucid.sources.list Prepare for R 2.x.x source builds Mar 14, 2018
make-app-data.R Update app data Oct 10, 2018
write-table-backport.R Fixes for early R 1.x Jul 20, 2018

README.md

rcheology

Travis build status AppVeyor build status CRAN status

A data package which lists every command in base R packages since R version 1.0.1.

The latest R version covered is 3.5.1.

Installing

From CRAN:

install.packages('rcheology')

From Github:

install.packages("remotes") # if you need to
remotes::install_github("hughjonesd/rcheology")

Where the data comes from

Versions 3.0.1 and up are installed from the CRAN apt repositories for Ubuntu Trusty Tahr. Version 3.5.0 and up use a special repository.

Versions 2.5.1 to 3.0.0 are built from source on Ubuntu Lucid Lynx.

Versions 1.2.3 to 2.4.1 are mostly built from source on Debian Sarge.

Versions 1.0.1 to 1.2.2 (and a couple of later versions) are built from source on Debian Woody.

Results are found from running ls on all installed packages from a minimal installation. Recommended packages are not included.

The Rversions data frame lists versions of R and release dates.

Do it yourself

  • Install docker.
  • ./control build builds the images. Or get them from https://hub.docker.com/r/dash2/rcheology/.
  • ./control run runs the images to build/install R and extract data
  • ./control gather gets CSV files from the containers
  • ./control write puts CSV files into a data frame and stores it in the package

The data

You can view the data online in a Shiny app.

library(rcheology)
data("rcheology")

head(rcheology)
#>   package name Rversion    type exported class generic args
#> 1    base    -    1.0.1 builtin     TRUE  <NA>      NA <NA>
#> 2    base    -    1.1.0 builtin     TRUE  <NA>      NA <NA>
#> 3    base    -    1.1.1 builtin     TRUE  <NA>      NA <NA>
#> 4    base    -    1.2.0 builtin     TRUE  <NA>      NA <NA>
#> 5    base    -    1.2.1 builtin     TRUE  <NA>      NA <NA>
#> 6    base    -    1.2.2 builtin     TRUE  <NA>      NA <NA>

Base functions over time:

library(ggplot2)
suppressPackageStartupMessages(library(dplyr))

rvs <- rcheology$Rversion     %>% 
      unique()                %>% 
      as.package_version()    %>% 
      sort() %>% 
      as.character()

major_rvs <- grep(".0$", rvs, value = TRUE)
major_rv_dates <- Rversions$date[Rversions$Rversion %in% major_rvs]
major_rvs <- gsub("\\.0$", "", major_rvs)

rch_dates <- rcheology %>% left_join(Rversions, by = "Rversion")
ggplot(rch_dates, aes(date, group = package, fill = package), colour = NA) + 
      stat_count(geom = "area") + 
      theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8)) + 
      # ggthemes::scale_fill_gdocs() +
      scale_x_date(breaks  = major_rv_dates, labels = major_rvs) + 
      xlab("Version") + ylab("Function count") + 
      theme(legend.position = "top")

An alternative view:

ggplot(rch_dates, aes(date, fill = "orange")) + 
      stat_count(geom = "area") + 
      scale_x_date(breaks  = major_rv_dates, labels = major_rvs) + 
      theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 8)) + 
      xlab("Version") + ylab("Function count") + 
      facet_wrap(~package, scales = "free_y", ncol = 2) +
      theme(legend.position = "none")