忽略ggplot2 boxplot + faceting +“free”选项中的异常值

时间:2012-05-16 12:29:04

标签: r ggplot2 facet boxplot outliers

如何调整Y轴以忽略异常值,例如在this post中,但在更具挑战性的情况下,我有4个箱图和“自由刻面”布局?

  

p< - ggplot(molten.DF,aes(x = class,y = SOC,fill = class))+     geom_boxplot()+     facet_grid(层〜。,鳞片= “免费”,空间= “游离”)

正如您在我的图中所看到的,考虑Y轴范围内的异常值会使框更难以阅读。如果结果中仍然可以看到一些异常值,那就不重要了,但我想真正关注这些方框!

boxplot with free scale, all outliers are (unfortuately) visibles

1 个答案:

答案 0 :(得分:2)

这显然取决于你认为的异常值。如果您可以计算它,可以将ylim设置为此值,让这些点超出图表。

例如,如果您假设上限和下限是Q3 + 1.5 IQR和Q1 - 1.5 IQR,并且这是箱图通常计算其异常值限制的方式,那么您将拥有:

upper.fence <- quantile(x)[4] + 1.5*IQR(x)
lower.fence <- quantile(x)[2] - 1.5*IQR(x)

然后,您可以将这些限制用作y值范围:

my.ggplot + coord_cartesian(ylim=c(lower.fence, upper.fence))

用于获取上限和下限的程序可能会发生变化,但限制的使用是相同的。