Earth: Multivariate Adaptive Regression Splines (MARS)

example2-earth-graph.png example1-earth-graph.png The earth package is an implementation of Jerome Friedman's Multivariate Adaptive Regression Splines, commonly known as "MARS".

What is MARS?

MARS is a statistical technique for modeling data. It's an extension to linear regression that captures nonlinearities and interactions between variables. The Wikipedia article gives a good overview.


Earth package for the R language.

Standalone C version for those who want to call earth from their own software without requiring R. A MATLAB interface is also provided (thanks to Fred Nicolls). This standalone version is based on earth version 3.2-6 (Nov 24, 2013).

General information on MARS

Wikipedia article (recommended)
Statsoft commercial vendor
Salford commercial vendor
Notes on the earth package document included with the R package


The earth source code is licensed under the GPL and runs in an R environment, or can be used as a stand-alone C library.

Earth is derived from the mda:mars library written by Trevor Hastie and Rob Tibshirani.

Citing earth

What people are using earth for

Earth is widely used. Here's a small sample of what it's being used for. (Note: This list was created in 2009 and is very out of date.)

Max Kuhn at Pfizer is using earth for building predictive models in computational biology and chemistry. You may also want to check out Max's caret package.

Thorsten Behrens at the University of Tuebingen (Institute of Geography) is using earth for Pedometrics / Digital Soil Mapping.

Trevor Nell at Brolink (Pty) Ltd is using earth to analyse insurance claim data to determine appropriate premiums.

Kurt Salmela and Ming Shan of Maritz Research are using earth for analyzing marketing research survey data.

Darin Brooks at the University of British Columbia and Kim Forest Management Ltd is using earth for predicting secondary growth/mid-term timber supply in the BC forestry sector.

Internal Details

Timing tests
Internal data structures
Internal call graphs


The following people have contributed to the earth package in one way or another. Thanks guys! I apologize to anyone that I may have inadvertently omitted.

Ahmed El-Gabbas, Alan Mitchell, Albert Bruehl, Alexios Ghalanos, Ana Ruize Navarro, Andrew Nunn, Andrew Wright, Andrew Ziem, Bernard Nolan, Blazej Poplawski, Ceyda Yazici, Chenhui Liu, Chris Billingham, Chris Wilkinson, Christos Giannoulis, Dan Putler, Daniel Zwick, Darin Brooks, David Lorenz, David Marra, David Smith, Dima Adiangga, Dirk Eddelbuettel, Donald Misquitta, Dylan R Harp, Esteban Alfaro Cortes, Eugene Shaine Mednikov, Frank Breiner, Frauke Guenther, Fred Nicolls, Gabor Grothendieck, Gaia Bazzi, Gavin Simpson, Gijs Koppers, Glen Lickjiff, Glenda Mathews, Glenn Eanes, Graham Wilkes, Graham Williams, Greg Jensen, Gregor Schmitz, Gregory Boivin, Hadley Wickham, Hamid Reza Pourghasemi, Hari Titan, Heping Zhang, Ilmari Juutilainen, Jakub Stoklosa, Jane Shevtsov, Jason Roberts, Jason Venkiteswaran, Jerome Friedman, Jim Leek, Joe Retzer, Jonathan Judge, Joshua Hartshorne, Juan Cardelino, Julian Faraway, Kamil Rakocy, Kari Ruohonen, Keith Woolner, Kevin Ummel, Kurt Hornik, Kurt Salmela, Kyra Stull, Lara E Bauman, Laura Villanova, Louise Corron, Manoj Semwal, Marc Richter, Marcelo Cunha, Maria Chikina, Marick Sinay, Mark Scarr, Marko Robnik Sokonja, Martin Maechler, Martin Renner, Mattia Brambilla, Mauro Gobbi, Max Kuhn, Ming Shan, Natali Uhl, Olaf Mersmann, Paul Johnson, Paval Goldstein, Peter Dalgaard, Pierric de Laborie, Qianyi Zhang, Rasi Matus, Rob Tibshirani, Sacha Varin, Semih Kuter, Serap Bilia, Seth White, Stephen Peplow, Steve Miller, Tal Galili, Ted Lewis, Thomas A Brandenburger, Thorsten Behrens, Tiina Hakanen, Tim Hesterberg, Tobia Ahsendorf, Tony Corke, Tood Rudick, Trevor Hastie, Trevor Nell, Uwe Ligges, Xianjun Dong, Yanwen Chen, Zanru Zhang, Zhiqiang Yang

To Stephen Milborrow Homepage