2018 through {cranlogs}
[This article was first published on Colin Fay, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
2018 at glance with {cranlogs}.
Let’s load the necessary packages.
library(cranlogs) library(data.table) library(lubridate) ## ## Attaching package: 'lubridate' ## The following objects are masked from 'package:data.table': ## ## hour, isoweek, mday, minute, month, quarter, second, wday, ## week, yday, year ## The following object is masked from 'package:base': ## ## date library(ggplot2) library(magrittr)
All downloads
We’ll use {cranlogs} to retrieve the data from the RStudio CRAN
mirror.
First, the number of package downloads by day in 2018.
total_dl <- cran_downloads(from = "2018-01-01", to = "2018-12-31") # Turn to a data.table setDT(total_dl) # Round the date to month and week total_dl[, `:=`( round_week = floor_date(date, "week" ), round_month = floor_date(date, "month" ) ) ]
How many download in total?
total_dl[, .(total = sum(count))] ## total ## 1: 614548197
Let’s plot this:
random_viridis <- function(n){
sample(viridis::viridis(100), n)
}
total_dl[, .(count = sum(count)), round_week] %>%
ggplot(aes(round_week, count)) +
geom_col(fill = random_viridis(1)) +
labs(
title = "Packages downloads by Week on RStudio CRAN mirror",
subtitle = "data via {cranlogs}",
x = "week"
) +
theme_minimal()

total_dl[, .(count = sum(count)), round_month] %>%
ggplot(aes(round_month, count)) +
geom_col(fill = random_viridis(1)) +
labs(
title = "Packages downloads by Month on RStudio CRAN mirror",
subtitle = "data via {cranlogs}",
x = "month"
) +
theme_minimal()

R download
Let’s now have a look at the number of downloads for R itself:
total_r <- cran_downloads("R", from = "2018-01-01", to = "2018-12-31")
setDT(total_r)
total_r[, `:=`(
round_week = floor_date(date, "week" ),
round_month = floor_date(date, "month" )
) ]
How many download in total?
total_r[, .(total = sum(count))] ## total ## 1: 1041727
Plotting this:
total_r[, .(count = sum(count)), round_week] %>%
ggplot(aes(round_week, count)) +
geom_col(fill = random_viridis(1)) +
labs(
title = "R downloads by Week on RStudio CRAN mirror",
subtitle = "data via {cranlogs}",
x = "week"
) +
theme_minimal()

total_r[, .(count = sum(count)), round_month] %>%
ggplot(aes(round_month, count)) +
geom_col(fill = random_viridis(1)) +
labs(
title = "R downloads by Month on RStudio CRAN mirror",
subtitle = "data via {cranlogs}",
x = "month"
) +
theme_minimal()

Let’s have a look to the number of download by R version:
total_r[, .(count = sum(count)), version][order(count, decreasing = TRUE)] %>%
head(10)
## version count
## 1: 3.5.1 464837
## 2: 3.4.3 174665
## 3: 3.5.0 137886
## 4: 3.4.4 107124
## 5: latest 32642
## 6: 3.5.1patched 32119
## 7: 3.3.3 27992
## 8: 3.5.2 21645
## 9: devel 8543
## 10: 3.2.4 4814
total_r[, .(count = sum(count)), version][order(count)] %>%
head(10)
## version count
## 1: 3.5.1rc 2
## 2: 3.5.2beta 2
## 3: 3.5.2rc 6
## 4: 3.5.0beta 8
## 5: 3.4.4rc 11
## 6: 3.5.0alpha 11
## 7: 3.5.0rc 12
## 8: 2.6.1 13
## 9: 2.8.0 16
## 10: 2.2.1 17
total_r[, .(count = sum(count)), version][order(count, decreasing = TRUE)] %>%
head(10) %>%
ggplot(aes(reorder(version, count), count)) +
coord_flip() +
geom_col(fill = random_viridis(1)) +
labs(
title = "10 most downloaded R versions in 2018 on RStudio CRAN mirror",
subtitle = "data via {cranlogs}",
x = "version"
) +
theme_minimal()

And by os:
total_r[, .(total = sum(count)), os] ## os total ## 1: osx 228573 ## 2: win 767319 ## 3: src 42725 ## 4: NA 3110
And a happy new year ????????
To leave a comment for the author, please follow the link and comment on their blog: Colin Fay.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.