emacs/layers.personal/misctools/my-polymode/local/polymode/samples/pairs.Rd
2018-04-07 10:54:04 +08:00

103 lines
3.4 KiB
R

% File src/library/graphics/man/pairs.Rd
% Part of the R package, http://www.R-project.org
% Copyright 1995-2007 R Core Team
% Distributed under GPL 2 or later
\name{pairs}
\alias{pairs}
\alias{pairs.default}
\alias{pairs.formula}
\title{Scatterplot Matrices}
\description{
A matrix of scatterplots is produced.
}
\usage{
pairs(x, \dots)
\method{pairs}{formula}(formula, data = NULL, \dots, subset,
na.action = stats::na.pass)
\method{pairs}{default}(x, labels, panel = points, \dots,
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{
\item{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 \code{\link{data.matrix}} does.
}
\item{formula}{a formula, such as \code{~ 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.)}
\item{data}{a data.frame (or list) from which the variables in
\code{formula} should be taken.}
\item{subset}{an optional vector specifying a subset of observations
to be used for plotting.}
.....
}
\details{
The \eqn{ij}th scatterplot contains \code{x[,i]} plotted against
\code{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
\code{x} as \code{x} and \code{y}: the diagonal panel function (if
any) is passed a single column, and the \code{text.panel} function is
passed a single \code{(x, y)} location and the column name.
.....
}
\author{
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)
\emph{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)
}
\keyword{hplot}