如何利用R软件绘制箱线图

Python018

如何利用R软件绘制箱线图,第1张

方法/步骤

打开r软件,输入数据集。这里以一个班级的学生成绩为例来介绍箱线图的使用方法。

输入绘制箱线图命令boxplot(class1),运行命令,得到一班学生成绩箱线图。箱线图箱体中间的粗黑线表示中位数所在位置,可以看到本例的平均值大约在80分。最下面的圈号表示异常点。本例的异常值为25。

一个图表中可以绘制多个系列的箱线图,便于比较。这里添加另外一个班级的成绩,进行比较。

输入绘制箱线图的代码:

boxplot(class1,class2,names=c('一班','二班'),col=c("green","red"))

其中names表示为两个系列命名。col为颜色取值。

运行代码,得到连个箱线图。从图中可以明显看到两个班级的成绩分布情况。二班的成绩比较集中,一班的差异比较大。二班的平均分要高于一班。完成。

提示:箱线图还有很多参数可供我们绘图时使用。可以运行命令help(boxplot)了解更多内容。

箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法。它也可以粗略地看出数据是否具有有对称性,分布的离散程度等信息;特别适用于对几个样本的比较。

注:四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。

  第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。

  第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。

  第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

  第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。

R语言中计算方法:

quantile函数直接计算四分位:

例如:data = c(1,2,3,4,5,6.2,7,8,9,10)

quantile(data)   #其结果如下

0%       25%       50%       75%       100%

1.00      3.25       5.60        7.75      10.00

其中0%:最小值;25%:第一四分位数Q1;50%:中位数;75%:第三四分位数;100%:最大值。

其计算方法为:

1. 排序,从小到大排列data;

2. 计算分位数的位置;pos = 1+ (n-1)*p,n为数据的总个数,p为0-1之间的值

3. 给出分位数

注意:另一种分位数的计算方法为:其他与前面的一致。但是分位数位置的计算采用:pos = (n+1)*p,n为数据的总个数,p为0-1之间的值。

四分位数的计算方法没有一个统计的标准,如果对此计算有要求的,需要注意函数的具体算法。

另外,boxplot中存在异常值,其规定标准如下:

当数据中的值大于或小于箱体的四分位距IQR的1.5倍时,认定为异常值。

就是说当某值大于(Q3+1.5*IQR)或小于(Q1-1.5*IQR)时,处理时会认定为异常值。

#使用并列箱线图进行跨组比较,如图6-12#公式y~A*B则将为类别型变量A和B所有水平的两两组合生成数值型变量y的箱线图, 例子的mpg~cyl表示为四缸、六缸、八缸发动机对每加仑汽油行驶的英里数的影响。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")

输出结果如下