by Joseph Rickert
Saturday morning I was drinking my coffee wondering how much effort goes into R worldwide. (It’s my job.) I noticed that there were 4469 packages on CRAN, and it occurred to me that tabulating the packages by publication date would give some indication of how much effort is being expended to improve packags and keep them up to date. With very little work at all I was able to read the table on the Available CRAN packages by date of publication page and produce this plot.
Maybe I should not have been, but I was surprised to see that most CRAN packages were either created or updated in the last year or so. Apparently, only 264 packages haven’t been touched since 2010 or before. (If you are ever worried about whether an older package is going to work for you, go to the CRAN checks page for the package and look at the notes. For example, the CRAN check for vioplot, the current longevity record holder, look just fine to me .)
This is astounding! Like most people, I suppose, I tend to use only a small number of packages on a regular basis. I’m clueless about what most of the other packages do, and don’t think much about them. But they are all meaningful to somebody, probably thousands of somebodies, and a tremendous number of hours are being spent to keep them current and improve them. So the next time a colleague refers to R itself as a “statistical package” find a way to make this point: “Package” sounds so small, “wrapped up”, and done, but R is never done, it is a language that is constantly changing, improving and increasing its expressive power through the ongoing efforts a global, large scale engineering effort. The success of R is in no small part due to the mechanism that the R core group implemented to enhance the language through the parallel, asynchronous efforts of the package developers.
A little munging (download packages-post.r) on the CRAN Package Check Results page shows that there are at least 2,596 package maintainers active now. Since many packages have multiple authors this number is probably way less than the number of package developers. Nevertheless, it gives some idea, a lower bound, on the number of people that are actively involved in creating and maintaining R packages. Also, I might be wrong, but I am guessing that people who volunteer to maintain a package are also involved in improving it. So the following plot that lists the developers who are maintaining at least 10 packages must be the trace of untold hours of “after hours”, solitary work. I think we all owe a tremendous debt of gratitude to these R superstars and all the other package developers. After all, it’s not their job.
It grew up so fast :)
Posted by: Markus Spatz | May 02, 2013 at 09:14
Interesting, I'd be interested to see how r-forge and github have grown as unstable development repos.
Posted by: Ian Fellows | May 02, 2013 at 09:35
The large number of package let me think that we need to develop a collaborative comprehensive handbook such as the R Programming wikibook (http://en.wikibooks.org/wiki/R_Programming) to find the best way to deal with each task.
Posted by: blaquans | May 03, 2013 at 02:30
I guess the CRAN packages by date page only shows when the packages were last updated, right? It would be interesting to know how many new packages were added each year. Another chart to show which packages get updated most frequently would be good too.
Posted by: George W. | May 03, 2013 at 04:28
A fascinating study. Thank you for doing the work and posting it.
Anyone who uses R enough will encounter some of the frustrating features of the language. But the strength of R is not the language but the packages. This post shows why R is so popular and continues to be popular.
Posted by: Ian Kaplan | May 04, 2013 at 08:27
That's a very different perspective from my similar growth curve here:
http://r4stats.com/2013/03/19/r-2012-growth-exceeds-sas-all-time-total/
The first version I plot is 1.3, which was released in 2001, and I stopped at 2012. I'll email you so we can figure out why there's such a big difference.
Cheers,
Bob
Posted by: Bob Muenchen | May 05, 2013 at 08:40