# dlstats: Download stats of R packages

####
Guangchuang Yu (guangchuangyu@gmail.com)
School of Public Health, The University of Hong Kong

#### 2017-08-07

# Introduction

This `R` package queries download stats of `R` packages.

- For CRAN packages, it queries from RStudio download logs.

- For Bioconductor packages, it queries from Bioconductor download stats.

# Download stats of CRAN packages

    library("ggplot2")
    library("dlstats")

    x <- cran_stats(c("emojifont", "ggimage", "hexSticker", "rvcheck"))
    head(x)

    ##         start        end downloads   package
    ## 5  2016-02-01 2016-02-29        42 emojifont
    ## 9  2016-03-01 2016-03-31       323 emojifont
    ## 13 2016-04-01 2016-04-30       257 emojifont
    ## 17 2016-05-01 2016-05-31       234 emojifont
    ## 21 2016-06-01 2016-06-30       212 emojifont
    ## 25 2016-07-01 2016-07-31       309 emojifont

    ggplot(x, aes(end, downloads, group=package, color=package)) +
        geom_line() + geom_point(aes(shape=package))

# Download stats of Bioconductor packages

    pkgs <- c("ChIPseeker", "clusterProfiler", "DOSE", "ggtree", "GOSemSim", "ReactomePA")
    y <- bioc_stats(pkgs)
    head(y)

    ##         start        end Nb_of_distinct_IPs Nb_of_downloads    package
    ## 43 2014-04-01 2014-04-30                111             201 ChIPseeker
    ## 44 2014-05-01 2014-05-31                200             415 ChIPseeker
    ## 45 2014-06-01 2014-06-30                333             533 ChIPseeker
    ## 46 2014-07-01 2014-07-31                241             336 ChIPseeker
    ## 47 2014-08-01 2014-08-31                304             405 ChIPseeker
    ## 48 2014-09-01 2014-09-30                354             482 ChIPseeker

    ggplot(y, aes(end, Nb_of_downloads, group=package, color=package)) +
        geom_line() + geom_point(aes(shape=package))

    library("tidyr")
    yy <- gather(y, type, Nb, Nb_of_distinct_IPs:Nb_of_downloads)

    ggplot(yy, aes(end, Nb, shape=package, color=package)) +geom_point() + geom_line() +
        ylab(NULL) + xlab(NULL) + facet_grid(type~., scales="free_y") +
        ggtitle("Number of downloads per Month") +
        scale_x_date(date_breaks="1 year", date_labels = "%Y")

# Shiny apps

We also provide shiny app for visualizing download stats of R packages.

User can use `cranApp()` or `biocApp()` for `CRAN` packages and `Bioconductor` packages respectively.

    biocApp()