2018 through {cranlogs}

January 1, 2019
By

(This article was first published on Colin Fay, and kindly contributed to R-bloggers)

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 on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.

Search R-bloggers


Sponsors

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)