https://github.com/hughjonesd/rcheology
Data on Base Packages for Previous Versions of R
https://github.com/hughjonesd/rcheology
cran history-of-computing r
Last synced: 6 days ago
JSON representation
Data on Base Packages for Previous Versions of R
- Host: GitHub
- URL: https://github.com/hughjonesd/rcheology
- Owner: hughjonesd
- License: cc0-1.0
- Created: 2018-03-09T18:10:01.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T10:46:36.000Z (about 1 month ago)
- Last Synced: 2025-04-09T16:19:33.821Z (6 days ago)
- Topics: cran, history-of-computing, r
- Language: R
- Homepage: https://hughjonesd.shinyapps.io/rcheology
- Size: 72.7 MB
- Stars: 40
- Watchers: 2
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE.md
Awesome Lists containing this project
- jimsghstars - hughjonesd/rcheology - Data on Base Packages for Previous Versions of R (R)
README
---
output: github_document
editor_options:
chunk_output_type: console
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)r_latest <- max(package_version(unique(rcheology::rcheology$Rversion)))
```# rcheology
[](https://ci.appveyor.com/project/hughjonesd/rcheology)

[](https://cran.r-project.org/package=rcheology)
[](https://cran.r-project.org/package=rcheology)
A data package which lists every command in base R packages since R version `r min(package_version(unique(rcheology::rcheology$Rversion)))`.The latest R version covered is `r r_latest`.
You can view the data online in a [Shiny app](https://hughjonesd.shinyapps.io/rcheology/).
## Installing
From [r-universe](https://r-universe.dev):
```{r, eval = FALSE}
install.packages('rcheology', repos = c('https://hughjonesd.r-universe.dev',
'https://cloud.r-project.org'))
```From CRAN:
```{r, eval = FALSE}
install.packages('rcheology')
``````{r, child = "data-where-from.Rmd"}
```
## Do it yourself* Install and start docker.
* Run `host-run-on-evercran.sh`.## The data
```{r}
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"), ]
```
Latest changes:```{r}
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
```
Base functions over time:```{r}
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
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:
```{r, fig.height = 8, out.height="1000px"}
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")
```