网站的外链接数,固安做网站的,成都网站建设哪里好点,重庆论坛建站模板箱线图通过绘制观测数据的五数总括#xff0c;即最小值、下四分位数、中位数、上四分位数以及最大值#xff0c;描述了变量值的分布情况。箱线图能够显示出离群点(outlier)#xff0c;离群点也叫做异常值#xff0c;通过箱线图能够很容易识别出数据中的异常值。箱线图提供了…箱线图通过绘制观测数据的五数总括即最小值、下四分位数、中位数、上四分位数以及最大值描述了变量值的分布情况。箱线图能够显示出离群点(outlier)离群点也叫做异常值通过箱线图能够很容易识别出数据中的异常值。箱线图提供了识别异常值的一个标准异常值通常被定义为小于 QL- l.5 IQR 或者 大于 Qu 1.5 IQR的值QL称为下四分位数 Qu称为上四分位数IQR称为四分位数间距是Qu上四分位数和QL下四分位数之差其间包括了全部观察值的一半。箱线图的各个组成部分的名称及其位置如下图所示箱线图可以直观地看出数据集的以下重要性值中心位置中位数所在的位置就是数据集的中心散布程度箱线图分为多个区间区间较短时表示落在该区间的点较集中对称性如果中位数位于箱子的中间位置那么数据分布较为对称如果极值离中位数的距离较大那么表示数据分布倾斜一绘制箱线图绘制箱线图比较简单通常情况下我们使用ggplot和geom_boxplot绘制箱线图在下面的小节中我们使用ToothGrowth作为示例数据ToothGrowth$dose head(ToothGrowth)len supp dose1 4.2 VC 0.52 11.5 VC 0.53 7.3 VC 0.54 5.8 VC 0.55 6.4 VC 0.56 10.0 VC 0.51绘制基本的箱线图使用geom_boxplot绘制基本的箱线图library(ggplot2)ggplot(ToothGrowth, aes(xdose, ylen)) geom_boxplot()2设置离群点(outlier)geom_boxplot函数中有outlier开头的多个参数用于修改离群点的属性outlier.colour离群点的颜色outlier.fill离群点的填充色outlier.shape离群点的形状outlier.size离群点的大小outlier.alpha离群点的透明度示例代码如下ggplot(ToothGrowth, aes(xdose, ylen)) geom_boxplot(outlier.colourred, outlier.shape8, outlier.size4)3设置箱线图的颜色通过aes(color)函数可以为每个箱线图设置一个颜色而箱线图的划分是通过 aes(color)函数的color参数来划分的划分箱线图之后scale_color_*()函数才会起作用该函数用于为每个箱线图设置前景色和填充色颜色是自定义的scale_fill_manual() #forbox plot, bar plot, violin plot, etcscale_color_manual() #for lines and points以下代码设置箱线图的前景色ggplot(ToothGrowth, aes(xdose, ylen,colordose)) geom_boxplot()scale_color_manual(valuesc(#999999, #E69F00, #56B4E9))4设置Legend 的位置说明(Legend)是对箱线图的解释性描述默认的位置是在画布的右侧中间位置可以通过theme()函数修改Legend的位置lengend.position的有效值是top、right、left、bottom和none默认值是rightp p theme(legend.positiontop)p theme(legend.positionbottom)p theme(legend.positionnone) # Remove legend5设置箱线图的标题和坐标轴的名称通过labs设置箱线图的标题和坐标的名称参数title用于设置标题x和y用于设置x轴和y轴的标签ggplot(ToothGrowth, aes(xdose, ylen,colordose)) geom_boxplot()scale_color_manual(valuesc(#999999, #E69F00, #56B4E9))theme(legend.positionright)labs(titlePlot of length per dose,xDose (mg), y Length)6绘制箱线图的散点通过geom_point函数向箱线图中添加点geom_jitter()函数是geom_point(position jitter)的包装binaxisy是指沿着y轴进行分箱# Box plot with dot plotp geom_dotplot(binaxisy, stackdircenter, dotsize1)# Box plot with jittered points#0.2 : degree of jitter inx directionp geom_jitter(shape16, positionposition_jitter(0.2))7旋转箱线图函数coord_flip()用于翻转笛卡尔坐标系使水平变为垂直垂直变为水平主要用于把显示y条件x的geoms和统计信息转换为x条件y。p 二异常值检测绘制散点图并标记异常值ggplot(ToothGrowth, aes(xdose, ylen,colordose)) geom_boxplot(outlier.colourred, outlier.shape7,outlier.size4)scale_color_manual(valuesc(#999999, #E69F00, #56B4E9))theme(legend.positionright)labs(titlePlot of length per dose,xDose (mg), y Length)geom_dotplot(binaxisy, stackdircenter, stackratio1.5, dotsize1.2)当箱线图中的异常值过多时绘制的图中箱子被压成一条线无法观察到数据的分布这就需要移除异常值只保留适量的离群点常见的做法是改变ylim的范围代码是# compute lower and upper whiskersylim1 boxplot.stats(df$y)$stats[c(1, 5)]# scale y limits based on ylim1ggplot() gemo_box() coord_cartesian(ylim ylim1*1.05)三箱图的排序对箱图的排序实际上是对箱图的x轴因子进行排序而因子的顺序是由因子水平决定的。在对箱图进行排序时可以按照数据的均值对x轴因子水平进行排序重置数据框x轴的因子水平就可以实现箱图的排序x_order %group_by(x_factor)%%summarize(mean_ymean(y_value))%%ungroup()%%arrange(desc(mean_y))%%select(x_factor);df$x_factor参考文档