箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量的分布。箱线图能够显示出可能为离群点(范围±1.5*IQR以外的值,IQR表示四分位距,即上四分位数与下四分位数的差值)的观测
如代码:
boxplot(mtcars$mpg,main="Box plot",ylab="Miles Per Gallon")
含手工标注的箱线图
默认情况下,两条须的延伸极限不会超过盒型各端加1.5倍四分位距的范围。此范围以外的值将以点来表示
用法
- 代码
boxplot(x, ...)
## S3 method for class 'formula'
boxplot(formula, data = NULL, ..., subset, na.action = NULL,
xlab = mklab(y_var = horizontal),
ylab = mklab(y_var =!horizontal),
add = FALSE, ann = !add, horizontal = FALSE,
drop = FALSE, sep = ".", lex.order = FALSE)
## Default S3 method:
boxplot(x, ..., range = 1.5, width = NULL, varwidth = FALSE,
notch = FALSE, outline = TRUE, names, plot = TRUE,
border = par("fg"), col = NULL, log = "",
pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5),
ann = !add, horizontal = FALSE, add = FALSE, at = NULL)
- 主要参数
参数 | 含义 |
---|---|
formula | 公式,例如y~grp,其中y是要根据分组变量grp(通常是一个因子)分为几组的数据值的数字矢量。注意g1 + g2等同于g1:g2。 |
data | 数据框(或列表),应从中获取公式中的变量。 |
subset | 可选矢量,指定要用于绘图的观测子集。 |
na.action | 指示当数据包含NA时会发生什么的功能。默认设置是忽略响应或组中的缺失值。 |
xlab, ylab | x和y轴注释,自R 3.6.0起,默认值为非空。可以由ann = FALSE抑制。 |
ann | 逻辑指示是否应注释轴(通过xlab和ylab)。 |
drop, sep, lex.order | 传递给split.default,请参阅那里。 |
x | 用于指定要从中产生箱线图的数据。数值矢量,或包含此类矢量的单个列表。其他未命名的参数将其他数据指定为单独的向量(每个向量对应于一个组件箱图)。数据中允许使用NA。 |
... | 对于公式方法,将命名参数传递给默认方法。对于默认方法,未命名的参数是附加的数据向量(除非x被忽略时是列表),命名参数是除参数pars给出的参数和传递给bxp的参数和图形参数之外的参数(并覆盖这些inpars) )。请注意,bxp可能会或可能不会使用传递的图形参数:请参阅其文档。 |
range | 确定须从盒子伸出的距离。如果范围为正,则须延伸到最远的数据点,该数据点的范围不超过方框中四分位间距的范围。值为零会导致须扩展到数据极限值。 |
width | 给出构成图的框的相对宽度的向量。 |
varwidth | 如果为TRUE,则绘制框的宽度与组中观测值的平方根成比例。 |
notch | 如果为TRUE,则在方框的每一侧都绘制一个缺口 |
outline | 如果outline不正确,则不绘制离群值(以点表示,而S +使用线)。 |
names | 组标签,将在每个箱线图下打印。可以是字符向量或表达式(请参见绘图)。 |
boxwex | 应用于所有盒子的比例因子。当只有几个组时,可以通过使框变窄来改善图的外观。 |
staplewex | 装订线宽度扩展,与盒子宽度成比例。 |
outwex | 离群线宽度扩展,与盒子宽度成比例。 |
plot | 如果为TRUE(默认),则会生成一个箱线图。如果不是,则返回框图所基于的摘要。 |
border | 箱形图轮廓的可选颜色向量。如果边框的长度小于箱块数,则边框中的值将被回收。 |
col | 如果col不为空,则假定包含用于对箱形图主体进行着色的颜色。默认情况下,它们为背景色。 |
log | 表示应该以对数比例绘制x或y还是两个坐标的字符。 |
pars | 图形参数的列表 |
horizontal | 逻辑表明箱线图是否应水平放置;默认值为FALSE表示垂直框。 |
add | 逻辑值,如果为TRUE,则将boxplot添加到当前绘图中。 |
at | 给出应该绘制箱线图的位置的数值向量,尤其是当add = TRUE时;默认为1:n,其中n是盒子的数量。 |
并列箱线图
如果将多个组作为多个参数或通过一个公式提供,则将按照参数的顺序或因子级别的顺序(请参见factor)绘制平行的箱形图。
参数 | 含义 |
---|---|
stats | 一个矩阵,每列包含一个组/图的下晶须的极值,下铰链,中位数,上铰链和上晶须的极值。 如果所有输入都具有相同的class属性,则此组件也将相同。 |
n | 一个向量,其中包含每个组中的观察数。 |
conf | 矩阵,其中每一列都包含缺口的上下极限。 |
out | 超出晶须极限的任何数据点的值。 |
group | 与长度相同的向量,其元素表示异常值属于哪个组。 |
names | 组名称的向量。 |
## 调用可编辑的图形参数
opar <- par(no.readonly = T)
## 创建2行2列的组合图形
par(mfrow=c(2,2))
boxplot(mpg~cyl,data=mtcars,
main="Car Mileage Data",
xlab="Number of Cylinders",
ylab = "Miles Per Gallon")
## notch=TRUE可以得到含凹槽的箱线图,varwidth=TRUE则使箱线图的宽度与他们各自的样本大小成正比
boxplot(mpg~cyl,data=mtcars,
notch=TRUE,
varwidth=TRUE,
col="red",
main="Car Mileage Data",
xlab="Number of Cylinders",
ylab = "Miles Per Gallon")
## 创建2个交叉因子的箱线图
mtcars$cyl.f <- factor(mtcars$cyl,levels = c(4,6,8),
labels=c("4","6","8"))
mtcars$am.f <- factor(mtcars$am,levels = c(0,1),
labels=c("auto","Standard"))
boxplot(mpg ~ am.f*cyl.f, data=mtcars,
varwidth=TRUE,
col=c("gold","darkgreen"),
main="MPG Distrubition by Auto Type",
xlab="Auto Type",
ylab = "Miles Per Gallon")
## las=2,旋转轴标签
boxplot(mpg ~ am.f*cyl.f, data=mtcars,
varwidth=TRUE,
col=c("gold","darkgreen"),
main="MPG Distrubition by Auto Type",
las=2,
xlab = " ",
ylab = "Miles Per Gallon")
par(opar)
image.png