This function implements backward elimination using a `dr`

object for which
a `dr.coordinate.test`

is defined, currently for SIR SAVE, IRE and PIRE.

1 2 3 4 5 |

`object` |
A |

`scope` |
A one sided formula specifying predictors that will never be removed. |

`d` |
To use |

`minsize` |
Minimum subset size, must be greater than or equal to 2. |

`stop` |
Set stopping criterion: continue removing variables until the p-value for the next variable to be removed is less than stop. The default is stop = 0. |

`update` |
If true, the |

`test` |
Type of test to be used for selecting the next predictor
to remove for |

`trace` |
If positive, print informative output at each step, the default. If trace is 0 or false, suppress all printing. |

`...` |
Additional arguments passed to |

Suppose a `dr`

object has *p=a+b* predictors, with *a* predictors specified in the `scope`

statement.
`drop1`

will compute either marginal coordinate tests (if `d=NULL`

)
or conditional marginal coordinate tests (if `d`

is positive) for dropping each of the `b`

predictors not in the scope, and return p.values.
The result is an object created from the original object with the predictor
with the largest p.value removed.

`dr.step`

will call `drop1.dr`

repeatedly until
*\max(a,d+1)* predictors remain.

As a side effect,
a data frame of labels, tests, df, and p.values is printed. If
`update=TRUE`

, a `dr`

object is returned with the predictor with the largest p.value removed.

Sanford Weisberg, <sandy@stat.umn.edu>, based on the
`drop1`

generic function in the
base R. The `dr.step`

function is also similar to `step`

in
base R.

Cook, R. D. (2004). Testing predictor contributions in
sufficient dimension reduction. *Annals of Statistics*, 32, 1062-1092.

Shao, Y., Cook, R. D. and Weisberg (2007). Marginal tests with
sliced average variance estimation. *Biometrika*.

`dr.coordinate.test`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ```
data(ais)
# To make this idential to ARC, need to modify slices to match by
# using slice.info=dr.slices.arc() rather than nslices=8
summary(s1 <- dr(LBM~log(SSF)+log(Wt)+log(Hg)+log(Ht)+log(WCC)+log(RCC)+
log(Hc)+log(Ferr), data=ais,method="sir",
slice.method=dr.slices.arc,nslices=8))
# The following will almost duplicate information in Table 5 of Cook (2004).
# Slight differences occur because a different approximation for the
# sum of independent chi-square(1) random variables is used:
ans1 <- drop1(s1)
ans2 <- drop1(s1,d=2)
ans3 <- drop1(s1,d=3)
# remove predictors stepwise until we run out of variables to drop.
dr.step(s1,scope=~log(Wt)+log(Ht))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.