Skip to contents

A generic function returning an ellipse or other outline of a confidence region for two parameters.

Usage

ellipse(x, ...)
# S3 method for default
ellipse(x, scale = c(1, 1), centre = c(0, 0), level = 0.95,
    t = sqrt(qchisq(level, 2)), which = c(1, 2), npoints = 100, center = centre,
    ...)

Arguments

x

An object. In the default method the parameter x should be a correlation between -1 and 1 or a square positive definite matrix at least 2x2 in size. It will be treated as the correlation or covariance of a multivariate normal distribution.

...

Descendant methods may require additional parameters.

scale

If x is a correlation matrix, then the standard deviations of each parameter can be given in the scale parameter. This defaults to c(1, 1), so no rescaling will be done.

centre

The centre of the ellipse will be at this position.

level

The confidence level of a pairwise confidence region. The default is 0.95, for a 95% region. This is used to control the size of the ellipse being plotted. A vector of levels may be used.

t

The size of the ellipse may also be controlled by specifying the value of a t-statistic on its boundary. This defaults to the appropriate value for the confidence region.

which

This parameter selects which pair of variables from the matrix will be plotted. The default is the first 2.

npoints

The number of points used in the ellipse. Default is 100.

center

An alternative to centre to accommodate US spelling.

Value

An npoints x 2 matrix is returned with columns named according to the row names of the matrix x (default 'x' and 'y'), suitable for plotting.

Details

The default method uses the (cos(theta + d/2), cos(theta - d/2)) parametrization of an ellipse, where cos(d) is the correlation of the parameters.

References

Murdoch, D.J. and Chow, E.D. (1996). A graphical display of large correlation matrices. The American Statistician 50, 178-180. doi:10.2307/2684435 .

Examples

# Plot an ellipse corresponding to a 95% probability region for a
# bivariate normal distribution with mean 0, unit variances and 
# correlation 0.8.
plot(ellipse(0.8), type = 'l')