Skip to content
/ rcheology Public

❗ This is a read-only mirror of the CRAN R package repository. rcheology — Data on Base and Recommended Packages for Current and Previous Versions of R. Homepage: https://github.com/hughjonesd/rcheology Report bugs for this package: https://github.com/hughjonesd/rcheology/issues

Notifications You must be signed in to change notification settings

cran/rcheology

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cae5d4e · Apr 12, 2025

History

32 Commits
Nov 11, 2024
Apr 12, 2025
Apr 12, 2025
Nov 11, 2024
Apr 12, 2025
Apr 12, 2025
Jul 20, 2018
Apr 12, 2025
Apr 12, 2025

Repository files navigation

rcheology

AppVeyor build status runiverse-package badge CRAN status CRAN downloads

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

The latest R version covered is 4.5.0.

You can view the data online in a Shiny app.

Installing

From r-universe:

install.packages('rcheology', repos = c('https://hughjonesd.r-universe.dev', 
                    'https://cloud.r-project.org'))

From CRAN:

install.packages('rcheology')

Where the data comes from

R versions are built using the evercran project.

Results are found from running ls(all.names = TRUE) on all installed packages. For more details, see guest-list-objects.R.

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

Do it yourself

  • Install and start docker.
  • Run host-run-on-evercran.sh.

The data

library(rcheology)
data("rcheology")

rcheology[rcheology$name == "kmeans" & rcheology$Rversion %in% c("1.0.1", "1.9.0", "2.1.0", "3.0.2", "3.2.0", "4.0.2"), ]
#>        package   name Rversion priority    type exported hidden    class
#> 351945     mva kmeans    1.0.1     <NA> closure     TRUE  FALSE     <NA>
#> 403876   stats kmeans    1.9.0     base closure     TRUE  FALSE function
#> 403880   stats kmeans    2.1.0     base closure     TRUE  FALSE function
#> 403920   stats kmeans    3.0.2     base closure     TRUE  FALSE function
#> 403926   stats kmeans    3.2.0     base closure     TRUE  FALSE function
#> 403951   stats kmeans    4.0.2     base closure     TRUE  FALSE function
#>        S4generic
#> 351945     FALSE
#> 403876     FALSE
#> 403880     FALSE
#> 403920     FALSE
#> 403926     FALSE
#> 403951     FALSE
#>                                                                                                                              args
#> 351945                                                                                                (x, centers, iter.max = 10)
#> 403876                                                                                                (x, centers, iter.max = 10)
#> 403880                  (x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong",     "Lloyd", "Forgy", "MacQueen"))
#> 403920   (x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong",     "Lloyd", "Forgy", "MacQueen"), trace = FALSE)
#> 403926 (x, centers, iter.max = 10L, nstart = 1L, algorithm = c("Hartigan-Wong",     "Lloyd", "Forgy", "MacQueen"), trace = FALSE)
#> 403951 (x, centers, iter.max = 10L, nstart = 1L, algorithm = c("Hartigan-Wong",     "Lloyd", "Forgy", "MacQueen"), trace = FALSE)

Latest changes:

suppressPackageStartupMessages(library(dplyr))

r_penultimate <- sort(package_version(unique(rcheology::rcheology$Rversion)), 
      decreasing = TRUE)
r_penultimate <- r_penultimate[2]

r_latest_obj <- rcheology %>% dplyr::filter(Rversion == r_latest)
r_penult_obj <- rcheology %>% dplyr::filter(Rversion == r_penultimate)

r_introduced <- anti_join(r_latest_obj, r_penult_obj, by = c("package", "name"))

r_introduced
#> # A tibble: 26 × 10
#>    package  name   Rversion priority type  exported hidden class S4generic args 
#>    <chr>    <chr>  <chr>    <chr>    <chr> <lgl>    <lgl>  <chr> <lgl>     <chr>
#>  1 base     .set_… 4.5.0    base     clos… TRUE     TRUE   func… FALSE     "(x,…
#>  2 base     grepv  4.5.0    base     clos… TRUE     FALSE  func… FALSE     "(pa…
#>  3 base     summa… 4.5.0    base     clos… TRUE     FALSE  func… FALSE     "(ob…
#>  4 base     zstdf… 4.5.0    base     clos… TRUE     FALSE  func… FALSE     "(de…
#>  5 datasets gait   4.5.0    base     doub… FALSE    FALSE  array FALSE      <NA>
#>  6 datasets pengu… 4.5.0    base     list  FALSE    FALSE  data… FALSE      <NA>
#>  7 datasets pengu… 4.5.0    base     list  FALSE    FALSE  data… FALSE      <NA>
#>  8 datasets sunsp… 4.5.0    base     doub… FALSE    FALSE  ts    FALSE      <NA>
#>  9 methods  .__T_… 4.5.0    base     envi… TRUE     TRUE   envi… FALSE      <NA>
#> 10 methods  matri… 4.5.0    base     clos… TRUE     FALSE  grou… TRUE      "(x,…
#> # ℹ 16 more rows

Base functions over time:

library(ggplot2)

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

major_rvs <- grep(".0$", rvs, value = TRUE)
major_rvs <- gsub("0.50", "0.50-a1", major_rvs)
major_rvs <- gsub("0.60", "0.60.0", major_rvs)
major_rv_dates <- Rversions$date[Rversions$Rversion %in% major_rvs]
major_rv_dates
#>  [1] "1997-07-22" "1997-12-04" "1997-12-22" "1998-11-14" "1999-04-08"
#>  [6] "1999-08-28" "1999-11-22" "2000-02-07" "2000-02-29" "2000-06-15"
#> [11] "2000-12-15" "2001-06-22" "2001-12-19" "2002-04-29" "2002-10-01"
#> [16] "2003-04-16" "2003-10-08" "2004-04-12" "2004-10-04" "2005-04-19"
#> [21] "2005-10-06" "2006-04-24" "2006-10-03" "2007-04-24" "2007-10-03"
#> [26] "2008-04-22" "2008-10-20" "2009-04-17" "2009-10-26" "2010-04-22"
#> [31] "2010-10-15" "2011-04-13" "2011-10-31" "2012-03-30" "2013-04-03"
#> [36] "2014-04-10" "2015-04-16" "2016-05-03" "2017-04-21" "2018-04-23"
#> [41] "2019-04-26" "2020-04-24" "2021-05-18" "2022-04-22" "2023-04-21"
#> [46] "2024-04-24" "2025-04-11"
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")
#> Warning: Removed 1615 rows containing non-finite outside the scale range
#> (`stat_count()`).

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") 
#> Warning: Removed 1615 rows containing non-finite outside the scale range
#> (`stat_count()`).

About

❗ This is a read-only mirror of the CRAN R package repository. rcheology — Data on Base and Recommended Packages for Current and Previous Versions of R. Homepage: https://github.com/hughjonesd/rcheology Report bugs for this package: https://github.com/hughjonesd/rcheology/issues

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages