在R中创建Whisker和盒图

时间:2020-02-23 14:43:48  来源:igfitidea点击:

R中的箱形图是衡量和可视化数据分布的紧密程度的好方法。
这些有时也称为箱形图和晶须图。
每个数据分布都有一定的集中趋势度量-均值,中位数和众数。

一些分布紧密地位于中值和平均值附近,而其他分布则分布在广泛的值范围内,并且还包含许多离群值。
箱形图使您可以使用五位数摘要检查数据。
这些是:

  • 中位数–集合的中间值–称为Q2

  • 第一个四分位数-中间值和集合最小值之间的中间数字-称为Q1

  • 第三四分位数-中间值与集合中最大数之间的中间数-称为Q3

  • Q1和Q3之间的距离称为四分位间距– IQR。

  • 最小值– Q1 -1.5 * IQR –不是最小值

  • 最大值– Q3 + 1.5 * IQR –不是最大值

任何超出最小值和最大值限制的数据点均被视为异常值。
因此,箱形图可以为您提供有关数据分布的全面概念。

在R中创建箱形图

可以使用R中的boxplot()函数创建箱形图。
让我们尝试使用R的内置空气质量数据集创建第一个箱形图。

这是一个具有6列153行的数据框,记录了诸如风速,温度,臭氧量等天气数据。
让我们尝试为数据集的风速列绘制箱形图。

boxplot(airquality$Wind)

R中的箱形图

释义:

  • 穿过框的粗线表示数据集的中位数,大约为10。

  • 框的下半部分看起来较大,上半部分看起来更大-表示小于中位数的值更加分散。

  • 框的上下边界分别代表Q3和Q1点。

  • 延伸到框外的较小水平线(称为晶须)代表最小值和最大值。

  • 最高标记上方的小圆圈是异常值。

让我们尝试为数据集中的另一个变量绘制箱形图。

boxplot(airquality$Ozone)

箱形臭氧

可以观察到,该数据集在最大标记之上有两个异常值,并且数据在中值之上分散。

建立多个箱形图

R还可以使用多个箱形图比较两个变量的分布。

> boxplot(airquality$Ozone,airquality$Temp, names=c('Ozone','Temperature'),col=c('red','orange'))

多箱图

该命令使用两种不同的颜色来区分变量。
函数的名称属性提供了不同图的名称。

用箱形图绘制变量关系

还可以将变量与数据集中的任何其他类别变量进行比较。
例如,如果我们希望查看每个月的温度分布,则只需在公式部分中包括两个变量,例如– Temp~Month,将数据设置为数据框名称。

Temp~Month表示我们希望根据月份了解Temp的关系。
现在让我们执行该命令,并尝试构建水平图而不是垂直图。

boxplot(Temp ~ Month, data=airquality, horizontal= TRUE, col=c('red','green'))

在R中的箱形图上添加槽口

有时会在添加槽口的情况下看到箱形图的变化。
槽口只是盒子中间的小压缩,由宽度和高度确定。

缺口大小相似的两个图告诉我们,这两个图可能是根据从相同分布中选择的数据绘制的。
同样,如果两个凹口不重叠,则分布的中位数可能会不同。
可以添加缺口,将缺口参数设置为TRUE。

让我们对上面的多重图进行刻槽设计。

> boxplot(Temp ~ Month, data=airquality, horizontal= TRUE, notch= TRUE, col=c('red','green','orange','blue','purple'))