# 2018 through {cranlogs}

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**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.

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.