pairs {base} | R Documentation

## Scatterplot Matrices

### Description

A matrix of scatterplots is produced.

### Usage

    pairs(x, ...)

    ## S3 method for class 'formula':
    pairs(formula, data = NULL, ..., subset)

    ## Default S3 method:
    pairs(x, labels, panel = points, ...,
          lower.panel = panel, upper.panel = panel,
          diag.panel = NULL, text.panel = textPanel,
          label.pos = 0.5 + has.diag/3,
          cex.labels = NULL, font.labels = 1,
          row1attop = TRUE, gap = 1)

### Arguments

`x` | the coordinates of points given as columns of a matrix.
`formula` | a formula, such as `y ~ x`.
`data` | a data.frame (or list) from which the variables in `formula` should be taken.
`subset` | an optional vector specifying a subset of observations to be used for plotting.
`labels` | the names of the variables.
`panel` | `function(x,y,...)` which is used to plot the contents of each panel of the display.
`...` | graphical parameters can be given as arguments to `plot`.
`lower.panel, upper.panel` | separate panel functions to be used below and above the diagonal respectively.
`diag.panel` | optional `function(x, ...)` to be applied on the diagonals.
`text.panel` | optional `function(x, y, labels, cex, font, ...)` to be applied on the diagonals.
`label.pos` | `y` position of labels in the text panel.
`cex.labels, font.labels` | graphics parameters for the text panel.
`row1attop` | logical. Should the layout be matrix-like with row 1 at the top, or graph-like with row 1 at the bottom?
`gap` | Distance between subplots, in margin lines.

### Details

The ijth scatterplot contains `x[,i]` plotted against `x[,j]`. The “scatterplot” can be customised by setting panel functions to appear as something completely different. The off-diagonal panel functions are passed the appropriate columns of `x` as `x` and `y`: the diagonal panel function (if any) is passed a single column, and the `text.panel` function is passed a single `(x, y)` location and the column name.

The graphical parameters `pch` and `col` can be used to specify a vector of plotting symbols and colors to be used in the plots.

The graphical parameter `oma` will be set by `pairs.default` unless supplied as an argument.

A panel function should not attempt to start a new plot, but just plot within a given coordinate system: thus `plot` and `boxplot` are not panel functions.

### Author(s)

Enhancements for R 1.0.0 contributed by Dr. Jens Oehlschlaegel-Akiyoshi and R-core members.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

### Examples

    data(iris)
    pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",
          pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])

    ## formula method
    data(swiss)
    pairs(~ Fertility + Education + Catholic, data = swiss,
          subset = Education < 20, main = "Swiss data, Education < 20")

    data(USJudgeRatings)
    pairs(USJudgeRatings)

    ## put histograms on the diagonal
    panel.hist <- function(x, ...)
    {
        usr <- par("usr"); on.exit(par(usr))
        par(usr = c(usr[1:2], 0, 1.5) )
        h <- hist(x, plot = FALSE)
        breaks <- h$breaks; nB <- length(breaks)
        y <- h$counts; y <- y/max(y)
        rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
    }
    pairs(USJudgeRatings[1:5], panel=panel.smooth,
          cex = 1.5, pch = 24, bg="light blue",
          diag.panel=panel.hist, cex.labels = 2, font.labels=2)

    ## put (absolute) correlations on the upper panels,
    ## with size proportional to the correlations.
    panel.cor <- function(x, y, digits=2, prefix="", cex.cor)
    {
        usr <- par("usr"); on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        r <- abs(cor(x, y))
        txt <- format(c(r, 0.123456789), digits=digits)[1]
        txt <- paste(prefix, txt, sep="")
        if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
        text(0.5, 0.5, txt, cex = cex * r)
    }
    pairs(USJudgeRatings, lower.panel=panel.smooth, upper.panel=panel.cor)

[Package Contents]