R Packages All Well maintained?
There are so many R packages, can they all be trusted? or are they well maintained? To answer this question, we just need to take a look of their archive histories. If a package has many versions, we can take that as the authors spent a lot of time to make their packages perfect, these of kinds of packages can be taken as well maintained.
// jsData function gvisDataPieChartID18445a8c5473 () { var data = new google.visualization.DataTable(); var datajson = [ [ "1", 821 ], [ "2", 608 ], [ "3", 444 ], [ "4", 339 ], [ "5", 262 ], [ "6", 211 ], [ "7", 177 ], [ "8", 103 ], [ "9", 104 ], [ "10", 79 ], [ "11", 75 ], [ "12", 68 ], [ "13", 50 ], [ "14", 50 ], [ "15", 42 ], [ "16", 36 ], [ "17", 37 ], [ "18", 29 ], [ "19", 27 ], [ "20", 24 ], [ "20+", 268 ] ]; data.addColumn('string','Num'); data.addColumn('number','pkg.num'); data.addRows(datajson); return(data); }
// jsDrawChart function drawChartPieChartID18445a8c5473() { var data = gvisDataPieChartID18445a8c5473(); var options = {}; options["allowHtml"] = true;
var chart = new google.visualization.PieChart( document.getElementById('PieChartID18445a8c5473') ); chart.draw(data,options);
}
// jsDisplayChart function displayChartPieChartID18445a8c5473() { google.load("visualization", "1", { packages:["corechart"] }); google.setOnLoadCallback(drawChartPieChartID18445a8c5473); }
// jsChart displayChartPieChartID18445a8c5473()
//>
From the above pie chart, we can see that half of the packages have 4 or more versions, and 7% of them even have more than 20 version, suggesting, at least, half of R packages were well maintained.
R code for above pie chart.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 

There are 49 packages have more than 50 versions, take a look which of them you have used or heard.
// jsData function gvisDataColumnChartID1844486f94b () { var data = new google.visualization.DataTable(); var datajson = [ [ "ape", 71 ], [ "arm", 92 ], [ "car", 52 ], [ "caret", 94 ], [ "chron", 78 ], [ "clue", 56 ], [ "cluster", 64 ], [ "coin", 59 ], [ "diveMove", 57 ], [ "doBy", 54 ], [ "e1071", 52 ], [ "earth", 54 ], [ "epicalc", 96 ], [ "foreign", 83 ], [ "geoR", 69 ], [ "gstat", 88 ], [ "gWidgetsRGtk2", 70 ], [ "ks", 59 ], [ "lattice", 118 ], [ "lme4", 92 ], [ "maptools", 82 ], [ "Matching", 60 ], [ "Matrix", 163 ], [ "mclust", 54 ], [ "mgcv", 110 ], [ "mi", 52 ], [ "multcomp", 64 ], [ "mvtnorm", 55 ], [ "nlme", 91 ], [ "party", 76 ], [ "plotpc", 97 ], [ "pomp", 58 ], [ "RAD", 62 ], [ "RadioSonde", 53 ], [ "rangeMapper", 55 ], [ "RaschSampler", 79 ], [ "RCassandra", 78 ], [ "rfPermute", 64 ], [ "Rpad", 58 ], [ "RunuranGUI", 56 ], [ "sp", 93 ], [ "SparseM", 51 ], [ "spatstat", 146 ], [ "spdep", 86 ], [ "survey", 87 ], [ "survival", 60 ], [ "tseries", 79 ], [ "vegan", 56 ], [ "XML", 90 ] ]; data.addColumn('string','pkg.name'); data.addColumn('number','Num'); data.addRows(datajson); return(data); }
// jsDrawChart function drawChartColumnChartID1844486f94b() { var data = gvisDataColumnChartID1844486f94b(); var options = {}; options["allowHtml"] = true;
var chart = new google.visualization.ColumnChart( document.getElementById('ColumnChartID1844486f94b') ); chart.draw(data,options);
}
// jsDisplayChart function displayChartColumnChartID1844486f94b() { google.load("visualization", "1", { packages:["corechart"] }); google.setOnLoadCallback(drawChartColumnChartID1844486f94b); }
// jsChart displayChartColumnChartID1844486f94b()
//>
R code for above figure.
1 2 3 

21.3% of the packages have only one version which suggest that these packages need more mainenance if they are not perfect, or perhaps they were just uploaded to CRAN. For the packages having no more than 3versions, most of them (71.6%) were uploaded in recent two years, and only 15 packages were updated before 2007.
// jsData function gvisDataPieChartID1844ad81e69 () { var data = new google.visualization.DataTable(); var datajson = [ [ "2003", 2 ], [ "2004", 1 ], [ "2005", 4 ], [ "2006", 8 ], [ "2007", 37 ], [ "2008", 44 ], [ "2009", 177 ], [ "2010", 258 ], [ "2011", 617 ], [ "2012", 725 ] ]; data.addColumn('string','Year'); data.addColumn('number','Num'); data.addRows(datajson); return(data); }
// jsDrawChart function drawChartPieChartID1844ad81e69() { var data = gvisDataPieChartID1844ad81e69(); var options = {}; options["allowHtml"] = true;
var chart = new google.visualization.PieChart( document.getElementById('PieChartID1844ad81e69') ); chart.draw(data,options);
}
// jsDisplayChart function displayChartPieChartID1844ad81e69() { google.load("visualization", "1", { packages:["corechart"] }); google.setOnLoadCallback(drawChartPieChartID1844ad81e69); }
// jsChart displayChartPieChartID1844ad81e69()
//>
R code for above pie chart.
1 2 3 4 5 

Rbloggers.com offers daily email updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...