predict.ellipsoid          package:cluster          R Documentation

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 class '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.

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.

Value:

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

See Also:

     'ellipsoidhull', 'volume.ellipsoid'.

Examples:

      ## 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

