Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 8 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 (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-25T06:53:29.000Z (5 months ago)
- Last Synced: 2024-10-19T17:05:31.717Z (19 days ago)
- Topics: cran, history-of-computing, r
- Language: R
- Homepage: https://hughjonesd.shinyapps.io/rcheology
- Size: 69.8 MB
- Stars: 39
- Watchers: 3
- 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
[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/github/hughjonesd/rcheology?branch=master&svg=true)](https://ci.appveyor.com/project/hughjonesd/rcheology)
![runiverse-package badge](https://hughjonesd.r-universe.dev/badges/rcheology)
[![CRAN status](https://www.r-pkg.org/badges/version/rcheology)](https://cran.r-project.org/package=rcheology)
[![CRAN downloads](https://cranlogs.r-pkg.org/badges/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")
```