CRAN Task View: Robust Statistical Methods

Maintainer:Martin Maechler
Contact:Martin.Maechler at
Contributions:Suggestions and improvements for this task view are very welcome and can be made through issues or pull requests on GitHub or via e-mail to the maintainer address. For further details see the Contributing guide.
Citation:Martin Maechler (2023). CRAN Task View: Robust Statistical Methods. Version 2023-07-01. URL
Installation:The packages from this task view can be installed automatically using the ctv package. For example, ctv::install.views("Robust", coreOnly = TRUE) installs all the core packages or ctv::update.views("Robust") installs all packages that are not yet installed and up-to-date. See the CRAN Task View Initiative for more details.

Robust (or “resistant”) methods for statistics modelling have been available in S from the very beginning in the 1980s; and then in R in package stats. Examples are median(), mean(*, trim =. ), mad(), IQR(), or also fivenum(), the statistic behind boxplot() in package graphics) or lowess() (and loess()) for robust nonparametric regression, which had been complemented by runmed() in 2003. Much further important functionality has been made available in recommended (and hence present in all R versions) package MASS (by Bill Venables and Brian Ripley, see the book Modern Applied Statistics with S). Most importantly, they provide rlm() for robust regression and cov.rob() for robust multivariate scatter and covariance.

This task view is about R add-on packages providing newer or faster, more efficient algorithms and notably for (robustification of) new models.

Please send suggestions for additions and extensions via e-mail to the maintainer or submit an issue or pull request in the GitHub repository linked above.

An international group of scientists working in the field of robust statistics has made efforts (since October 2005) to coordinate several of the scattered developments and make the important ones available through a set of R packages complementing each other. These should build on a basic package with “Essentials”, coined robustbase with (potentially many) other packages building on top and extending the essential functionality to particular models or applications. Since 2020 and the 2nd edition of Robust Statistics: Theory and Methods , RobStatTM covers its estimators and examples, notably by importing from robustbase and rrcov. Further, there is the quite comprehensive package robust, a version of the robust library of S-PLUS, as an R package now GPLicensed thanks to Insightful and Kjell Konis. Originally, there has been much overlap between robustbase and robust, now robust depends on robustbase and rrcov, where robust provides convenient routines for the casual user while robustbase and rrcov contain the underlying functionality, and provide the more advanced statistician with a large range of options for robust modeling.

We structure the packages roughly into the following topics, and typically will first mention functionality in packages robustbase, rrcov and robust.


Multivariate Analysis:

Clustering (Multivariate):

Large Data Sets:

Descriptive Statistics / Exploratory Data Analysis:

Time Series:

Econometric Models:

Robust Methods for Bioinformatics:

Robust Methods for Survival Analysis:

Robust Methods for Surveys:

Collections of Several Methodologies:

Other Approaches to Robust and Resistant Methodology:

CRAN packages

Core:MASS, robust, robustbase, rrcov.
Regular:clubSandwich, cluster, clusterSEs, complmrob, covRobust, coxrobust, distr, drgee, genie, GJRM, Gmedian, GSE, lqmm, mblm, metaplus, mvoutlier, otrimle, pcaPP, quantreg, RandVar, revss, rlme, RobAStBase, robcor, robfilter, RobLox, RobLoxBioC, RobPer, RobStatTM, robsurvey, robumeta, RobustAFT, robustDA, robustlmm, robustreg, robustX, ROptEst, rospca, rpca, rrcovHD, rrcovNA, RSKC, sandwich, skewlmm, ssmrob, tclust, walrus, WRS2.
Archived:robeth, RobRex, ROptRegTS.

Related links

Other resources