Learn R Programming

cluster (version 2.0.6)

predict.ellipsoid: Predict Method for Ellipsoid Objects

Description

Compute points on the ellipsoid boundary, mostly for drawing.

Usage


predict.ellipsoid(object, n.out=201, …)
# S3 method for ellipsoid
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 \times 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 \ge 3\) are very welcome.

See Also

ellipsoidhull, volume.ellipsoid.

Examples

Run this code
# NOT RUN {
 ## 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