数据可视化——R语言ggplot2包绘制组别间指标差异对比图(箱形图及误差条图)
使用工具:R语言中的ggplot2工具包, RcolorBrewer颜色工具包
有时,我们需要对多个模型之间的性能评估的重复测量指标进行比较,如何对比显示呢?以下提供了两种方案:(1)箱形图;(2)差异对比图。
箱形图能方便显示数字数据组的四分位数,在数据表达中很常见。此处的差异对比图是指不同模型两两之间对应的属性指标相减后对差异值进行显示,显示方式为误差条图,此处的误差条上界为模型间差异值的上四分位数,中间的点为差异值的中值,下界为差异值的下四分位数。
示例中的数据为模拟生成的。共5个模型,每个模型都有一个属性指标,且每个模型的每个属性指标都进行了100次重复测量。如果要将你的数据进行显示,可做相应的修改。
箱形图直接对5个模型的100次测量值进行显示(不需要额外的计算)。绘制差异对比图时需要额外的计算,即每两两模型之间指标属性相减求出差异,然后寻找差异值的上、下四分位数和中值即可。
示例代码如下:
rm(list = ls()) #清除工作区
library(ggplot2)
library(RColorBrewer)
#生成模拟数据
#假设有5个模型,每个模型一个重复100次测量的属性(如一个模型100次交叉验证的准确率)
model1.attribute <- runif(100)+3 #模型1属性的100次重复测量
model2.attribute <- runif(100)+2 #模型2属性的100次重复测量
model3.attribute <- runif(100)+1 #模型3属性的100次重复测量
model4.attribute <- runif(100)+0.5 #模型4属性的100次重复测量
model5.attribute <- runif(100) #模型5属性的100次重复测量
group <- c(rep("Model1",100),rep("Model2",100),rep("Model3",100),rep("Model4",100),rep("Model5",100)) #生成数据对应的模型分组
group <- factor(group) #转为因子变量
value <- c(model1.attribute ,model2.attribute,model3.attribute,model4.attribute,model5.attribute) #每个模型属性的100次重复测量
Data1 <- data.frame(group=group,value=value) #生成的模拟数据
###################################################
#使用R语言自带的b