R 数据分析

本文详细介绍了R语言中pairs函数的使用方法及其参数设置,包括通过不同面板函数定制散点图矩阵,展示变量间的相关性和分布特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


## 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, line.main = 3,

      cex.labels = NULL, font.labels = 1,

      row1attop = TRUE, gap = 1, log = "")

Arguments

 

     

给定数据框的列来作图

 

formula   

指定需要作图的变量 ~ 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 formula should be taken.

 

subset     

对某个列按要求提取数据

 

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, but na.action = na.omit will cause cases with missing values in any of the variables to be omitted entirely.

 

labels       

变量的名字

 

main

主标题为

 

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 plot such as main. par("oma") will be set appropriately unless specified.

 

lower.panel, upper.panel        

separate panel functions (or NULL) to be used below and above the diagonal respectively.

upper.panel=NULL  只生成下半三角的数据

 

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 

y position of labels in the text panel.

 

line.main

if main is specified, line.main gives the line argument to mtext() which draws the title. You may want to specify oma when changing line.main.

 

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.

 

log   

a character string indicating if logarithmic axes are to be used: see plot.default. log = "xy" specifies logarithmic axes for all variables.

 

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. Setting some of these panel functions to NULL is equivalent to not drawing anything there.

 

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).

 

 

 

例子:

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")

提取Education < 20的数

 

 

pairs(USJudgeRatings, text.panel = NULL, upper.panel = NULL)

上三角不显示

 

 

## 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 <- 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)

 

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))

pairs(trackFeaturesTable[1:2], main="Edgar Anderson's Iris Data", pch=21,panel = panel.smooth,

#         diag.panel=panel.hist,bg = c("red", "green3", "yellow")[unclass(trackFeaturesTable$Species)])

library(car)
 scatterplotMatrix(~ DSpeed8 + Espeed8 | Species, data=trackFeaturesTable)



}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangyong58

喝杯茶还能肝到天亮,共同进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值