当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R pairs 散点图矩阵


R语言 pairs 位于 graphics 包(package)。

说明

生成散点图矩阵。

用法

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, ...,
      horInd = 1:nc, verInd = 1:nc,
      lower.panel = panel, upper.panel = panel,
      diag.panel = NULL, text.panel = textPanel,
      label.pos = 0.5 + has.diag/3, line.main = 3,
      cex.labels = NULL, font.labels = 1,
      row1attop = TRUE, gap = 1, log = "",
      horOdd = !row1attop, verOdd = !row1attop)

参数

x

以矩阵或 DataFrame 的数字列形式给出的点的坐标。逻辑列和因子列以与 data.matrix 相同的方式转换为数字。

formula

公式,例如 ~ x + y + z 。每个项都会在对图中给出一个单独的变量,因此项应该是数值向量。 (响应将被解释为另一个变量,但不会进行特殊处理,因此使用一个变量会令人困惑。)

data

data.frame(或列表),应从中获取formula中的变量。

subset

一个可选向量,指定用于绘图的观测值子集。

na.action

一个函数,指示当数据包含 NA 时应该发生什么。默认情况下是将缺失值传递给面板函数,但 na.action = na.omit 将导致任何变量中缺失值的情况被完全忽略。

labels

变量的名称。

panel

function(x, y, ...) 用于绘制显示屏每个面板的内容。

...

传入或传出方法的参数。

此外,graphical parameters 可以作为 plot 的参数给出,例如 main 。除非指定,否则 par("oma") 将被适当设置。

horInd, verInd

分别在水平轴和垂直轴上绘制的变量的(数字)索引。

lower.panel, upper.panel

分别在对角线下方和上方使用单独的面板函数(或 NULL )。

diag.panel

可选的function(x, ...)应用于对角线。

text.panel

可选的function(x, y, labels, cex, font, ...)应用于对角线。

label.pos

y 文本面板中标签的位置。

line.main

如果指定了 mainline.main 会将 line 参数传递给绘制标题的 mtext()。您可能需要在更改 line.main 时指定 oma

cex.labels, font.labels

文本面板的图形参数。

row1attop

合乎逻辑的。布局应该是第 1 行在顶部的矩阵式布局,还是第 1 行在底部的graph-like?后者(非默认)会产生基本对称的散点图矩阵。

gap

子图之间的距离(以边线为单位)。

log

指示是否使用对数轴的字符串,请参阅 plot.default 或索引的数字向量,指定那些变量的索引,其中对数轴应用于 x 和 y。 log = "xy" 指定所有变量的对数轴。

horOdd, verOdd

logical(或整数)确定水平轴和垂直轴标记如何发生。如果为 true,则轴标签分别从第一行(从左上角开始)或第一列开始。

细节

散点图包含针对 x[,j] 绘制的 x[,i] 。可以通过设置面板函数来自定义散点图,使其显示为完全不同的东西。非对角面板函数通过 x 的相应列作为 xy :对角面板函数(如果有)通过单个列传递,text.panel 函数通过单个 (x, y) 位置和列名称。将其中一些面板函数设置为 NULL 相当于不在那里绘制任何内容。

graphical parameters pchcol 可用于指定绘图符号和要在绘图中使用的颜色的向量。

除非作为参数提供,否则graphical parameter oma 将由pairs.default 设置。

面板函数不应尝试开始新绘图,而应仅在给定坐标系内进行绘图:因此 plotboxplot 不是面板函数。

默认情况下,缺失值会传递给面板函数,并且通常会在面板中被忽略。但是,对于公式方法和 na.action = na.omit ,所有包含任何变量缺失值的情况都将被完全忽略(包括选择尺度时)。

参数horIndverInd被介绍于R3.2.0。如果给定相同的值,它们可用于选择或重新排序变量:具有不同范围的连续值,它们可用于绘制完整对图的矩形窗口;在后一种情况下,‘diagonal’ 指的是整个图的对角线。

例子

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

## formula method, "graph" layout (row 1 at bottom):
pairs(~ Fertility + Education + Catholic, data = swiss, row1attop=FALSE,
      subset = Education < 20, main = "Swiss data, Education < 20")

pairs(USJudgeRatings, gap=1/10) # (gap: not wasting plotting area)
## show only lower triangle (and suppress labeling for whatever reason):
pairs(USJudgeRatings, text.panel = NULL, upper.panel = NULL)

## put histograms on the diagonal
panel.hist <- function(x, ...)
{
    usr <- 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", horOdd=TRUE,
      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, ...)
{
    par(usr = c(0, 1, 0, 1))
    r <- abs(cor(x, y))
    txt <- format(c(r, 0.123456789), digits = digits)[1]
    txt <- paste0(prefix, txt)
    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,
      gap=0, row1attop=FALSE)

pairs(iris[-5], log = "xy") # plot all variables on log scale
pairs(iris, log = 1:4, # log the first four
      main = "Lengths and Widths in [log]", line.main=1.5, oma=c(2,2,3,2))

作者

Enhancements for R 1.0.0 contributed by Dr. Jens Oehlschlägel-Akiyoshi and R-core members.

参考

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

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Scatterplot Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。