R: Convert a mars object from the mda package to an earth object

mars.to.earth {earth} | R Documentation

## Convert a mars object from the mda package to an earth object

### Description

Convert a `mars` object from the `mda` package to an `earth` object

### Usage

    mars.to.earth(object, trace=TRUE)

### Arguments

`object` | A `mars` object, created using `mars` in the `mda` package.
`trace` | If `TRUE` (default) print a summary of the conversion.

### Value

The value is the same format as that returned by `earth` but with skeletal versions of `rss.per.subset`, `gcv.per.subset`, and `prune.terms`.

You can fully initialize these components by calling `update.earth` after `mars.to.earth`, but if you do this `selected.terms` may change. However with `pmethod="backward"` a change is unlikely — `selected.terms` would change only if GCVs are so close that numerical errors have an effect.

### Note

Differences between mars and earth objects

Perhaps the most notable difference between `mars` and `earth` objects is that `mars` returns the MARS basis matrix in a field called "`x`" whereas `earth` returns "`bx`" with only the selected terms. Also, `earth` returns "`dirs`" rather than "`factors`", and in `earth` this matrix can have entries of value 2 for linear predictors.

For details of other differences between `mars` and `earth` objects, see the comments in the source code of `mars.to.earth`.

Weights

The `w` argument is silently ignored by `mars`.

`mars` normalizes `wp` to (euclidean) length 1; `earth` normalizes `wp` to length equal to the number of responses, i.e., the number of columns in `y`. This change was made so an all ones `wp` (or in fact any all constant `wp`) is equivalent to using no `wp`.

If the original call to `mars` used the `wp` argument, `mars.to.earth` will run `update.earth` to force consistency. This could modify the model, so a warning is issued.

### See Also

`earth`, `mars`

### Examples

    if(require(mda)) {
        mars.mod <- mars(trees[,-3], trees[,3])
        earth.mod <- mars.to.earth(mars.mod)
        # the standard earth functions can now be used
        # note the reconstructed call in the summary
        summary(earth.mod, digits = 2)
    }

[Package earth version 5.1.2 Index]