Learn R Programming

dr (version 3.0.10)

dr.weights: Estimate weights for elliptical symmetry

Description

This function estimate weights to apply to the rows of a data matrix to make the resulting weighted matrix as close to elliptically symmetric as possible.

Usage

dr.weights(formula, data = list(), subset, na.action = na.fail, sigma=1, nsamples=NULL, ...)

Arguments

formula
A one-sided or two-sided formula. The right hand side is used to define the design matrix.
data
An optional data frame.
subset
A list of cases to be used in computing the weights.
na.action
The default is na.fail, to prohibit computations. If set to na.omit, the function will return a list of weights of the wrong length for use with dr.
nsamples
The weights are determined by random sampling from a data-determined normal distribution. This controls the number of samples. The default is 10 times the number of cases.
sigma
Scale factor, set to one by default; see the paper by Cook and Nachtsheim for more information on choosing this parameter.
...
Arguments are passed to cov.rob to compute a robust estimate of the covariance matrix.

Value

Returns a list of $n$ weights, some of which may be zero.

Details

The basic outline is: (1) Estimate a mean m and covariance matrix S using a possibly robust method; (2) For each iteration, obtain a random vector from N(m,sigma*S). Add 1 to a counter for observation i if the i-th row of the data matrix is closest to the random vector; (3) return as weights the sample faction allocated to each observation. If you set the keyword weights.only to T on the call to dr, then only the list of weights will be returned.

References

R. D. Cook and C. Nachtsheim (1994), Reweighting to achieve elliptically contoured predictors in regression. Journal of the American Statistical Association, 89, 592--599.

See Also

dr, cov.rob

Examples

Run this code
data(ais)
w1 <- dr.weights(~ Ht +Wt +RCC, data = ais)
m1 <- dr(LBM~Ht+Wt+RCC,data=ais,weights=w1)

Run the code above in your browser using DataLab