pairs {graphics}
Description
A matrix of scatterplots is produced.
Usage
pairs(x, ...)
## S3 method for class 'formula':
pairs((formula, data = NULL, ..., subset,
na.action = stats::na.pass))
## S3 method for class 'default':
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 numeric columns of a matrix or dataframe. Logical and factor columns are converted to numeric in the same way that
data.matrixdoes. - formula
- a formula, such as
~ x + y + z. Each term will give a separate variable in the pairs plot, so terms should be numeric vectors. (A response will be interpreted as another variable, but not treated specially, so it is confusing to use one.) - data
- a data.frame (or list) from which the variables in
formulashould be taken. - subset
- an optional vector specifying a subset of observations to be used for plotting.
- na.action
- a function which indicates what should happen when the data contain
NAs. The default is to pass missing values on to the panel functions, butna.action = na.omitwill cause cases with missing values in any of the variables to be omitted entirely. - labels
- the names of the variables.
- panel
function(x, y, ...)which is used to plot the contents of each panel of the display.- ...
- arguments to be passed to or from methods. Also, graphical parameters can be given as can arguments to
plotsuch asmain.par("oma")will be set appropriately unless specified. - 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
yposition 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.
By default, missing values are passed to the panel functions and will often be ignored within a panel. However, for the formula method and na.action = na.omit, all cases which contain a missing values for any of the variables are omitted completely (including when the scales are selected).
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Examples
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species", pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)]) ## formula method pairs(~ Fertility + Education + Catholic, data = swiss, subset = Education < 20, main = "Swiss data, Education < 20") 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.cor <- 0.8/strwidth(txt) text(0.5, 0.5, txt, cex = cex.cor * r) } pairs(USJudgeRatings, lower.panel = panel.smooth, upper.panel = panel.cor)
Documentation reproduced from R 2.15.3. License: GPL-2.
