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.