The question “How many people use my R package?” is a natural question that (I imagine) every R package developer asks himself at some point or another. After many years in the dark, a silver lining has now emerged thanks to the good people at RStudio. Just yesterday, a blog post by Hadley Wickham was written about the newly released CRAN log files of the RStudio cloud CRAN!
Already out, and the R blogosphere started buzzing with action: James Cheshire created a beautiful world map which highlights the countries based on how much people there use of R. Felix Schonbrodt wrote a great post on Tracking CRAN packages downloads. In the meantime, I’ve started crafting some basic functions for package developers to easily check how many users downloaded their package. These functions are now available on the installr package github page.
And here is the code to allow you to make a similar plot for the package which interests you:
# if (!require('devtools')) install.packages('devtools'); require('devtools') # make sure you have Rtools installed first! if not, then run: #install_Rtools() #install_github('installr', 'talgalili') # get the latest installr R package # or run the code from here: # https://github.com/talgalili/installr/blob/master/R/RStudio_CRAN_data.r if(packageVersion("installr") %in% c("0.8","0.9","0.9.2")) install.packages('installr') #If you have one of the older installr versions, install the latest one.... require(installr) # The first two functions might take a good deal of time to run (depending on the date range) RStudio_CRAN_data_folder <- download_RStudio_CRAN_data(START = '2013-04-02', END = '2013-04-05') # around the time R 3.0.0 was released my_RStudio_CRAN_data <- read_RStudio_CRAN_data(RStudio_CRAN_data_folder) # barplots: (more functions can easily be added in the future) barplot_package_users_per_day("plyr", my_RStudio_CRAN_data) barplot_package_users_per_day("installr", my_RStudio_CRAN_data)
If you (the reader) are interested in helping me extend (/improve) these functions, please do so – I’d be happy to accept pull requests (or comments/e-mails).