cluster (version 2.0.5)

predict.ellipsoid: Predict Method for Ellipsoid Objects

Description

Compute points on the ellipsoid boundary, mostly for drawing.

Usage

predict.ellipsoid(object, n.out=201, ...) "predict"(object, n.out=201, ...) ellipsoidPoints(A, d2, loc, n.half = 201)

Arguments

object
an object of class ellipsoid, typically from ellipsoidhull(); alternatively any list-like object with proper components, see details below.
n.out, n.half
half the number of points to create.
A, d2, loc
arguments of the auxilary ellipsoidPoints, see below.
...
passed to and from methods.

Value

a numeric matrix of dimension 2*n.out times $p$.

Details

Note ellipsoidPoints is the workhorse function of predict.ellipsoid a standalone function and method for ellipsoid objects, see ellipsoidhull. The class of object is not checked; it must solely have valid components loc (length $p$), the $p x p$ matrix cov (corresponding to A) and d2 for the center, the shape (``covariance'') matrix and the squared average radius (or distance) or qchisq(*, p) quantile.

Unfortunately, this is only implemented for $p = 2$, currently; contributions for $p >= 3$ are very welcome.

See Also

ellipsoidhull, volume.ellipsoid.

Examples

Run this code
 ## see also  example(ellipsoidhull)

## Robust vs. L.S. covariance matrix
set.seed(143)
x <- rt(200, df=3)
y <- 3*x + rt(200, df=2)
plot(x,y, main="non-normal data (N=200)")
mtext("with classical and robust cov.matrix ellipsoids")
X <- cbind(x,y)
C.ls <- cov(X) ; m.ls <- colMeans(X)
d2.99 <- qchisq(0.99, df = 2)
lines(ellipsoidPoints(C.ls, d2.99, loc=m.ls), col="green")
if(require(MASS)) {
  Cxy <- cov.rob(cbind(x,y))
  lines(ellipsoidPoints(Cxy$cov, d2 = d2.99, loc=Cxy$center), col="red")
}# MASS

Run the code above in your browser using DataLab