103 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			103 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | % 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} |