在ggplot2中,boxplot行的结尾代表什么?

我找不到一个boxplot的线条的终点描述。

例如,这里是行结束处的上面和下面的点值。 在这里输入图像说明

(我意识到箱子的顶部和底部是百分之二十五和百分之七十,中线是五十点)。 我假设,因为上面和下面有几个点,他们不代表最大值/最小值。

boxplot结尾处的“点”代表exception值。 确定一个点是否是一个exception点有许多不同的规则,但是R和ggplot使用的方法是“1.5规则”。 如果数据点是:

  • 小于Q1 – 1.5 * IQR
  • 大于Q3 + 1.5 * IQR

那么这一点被归类为“exception值”。 晶须被定义为:

上胡须= min(max(x),Q_3 + 1.5 * IQR)

低晶须= max(min(x),Q_1-1.5 * IQR)

其中IQR = Q_3 – Q_1,方框长度。 所以上部晶须位于最大x值和Q_3 + 1.5 IQR中的较小者,而下部晶须位于最小x值和Q_1-1.5 IQR中的较大者。

附加信息

  • 请参阅维基百科boxplot页面,了解可选的exception规则。
  • 实际上有多种计算分位数的方法。 请看“分位数”来描述九种不同的方法。

考虑下面的例子

> set.seed(1) > x = rlnorm(20, 1/2)#skewed data > par(mfrow=c(1,3)) > boxplot(x, range=1.7, main="range=1.7") > boxplot(x, range=1.5, main="range=1.5")#default > boxplot(x, range=0, main="range=0")#The same as range="Very big number" 

这给出了以下情节: 在这里输入图像说明

当我们将范围从1.7降低到1.5时,我们减less了晶须的长度。 但是, range=0是一个特殊情况 – 相当于“range = infinity”

我认为ggplot使用标准的默认设置,就像boxplot:“晶须延伸到最远的数据点,不超过盒子长度的1.5倍”

请参阅: boxplot.stats

P1IMSA教程8 – 了解盒子和晶须贴图video提供了(Tukey)盒子和晶须图的可视化逐步解释。

在4m 23s时,我解释了晶须末端的含义及其与1.5 * IQR的关系。

虽然在video中显示的图表是使用D3.js而不是R来渲染的,但是其解释与前面提到的箱形图的R实现一致。