pairs {graphics} | R Documentation |
A matrix of scatterplots is produced.
pairs(x, ...)
## S3 method for class 'formula'
pairs(formula, data = NULL, ..., subset,
na.action = stats::na.pass)
## 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)
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 |
formula |
a formula, such as |
data |
a data.frame (or list) from which the variables in
|
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 |
labels |
the names of the variables. |
panel |
|
... |
arguments to be passed to or from methods. Also, graphical parameters can be given as can arguments to
|
lower.panel , upper.panel |
separate panel functions to be used below and above the diagonal respectively. |
diag.panel |
optional |
text.panel |
optional |
label.pos |
|
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. |
The ij
th 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).
Enhancements for R 1.0.0 contributed by Dr. Jens Oehlschlaegel-Akiyoshi and R-core members.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
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)