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

fst*_*ens 11 r facet outliers ggplot2 boxplot

如何调整我的Y轴以忽略异常值,就像在这篇文章中一样,但是在一个更具挑战性的情况下,我有4个箱图和"自由刻面"布局?

p < - ggplot(molten.DF,aes(x = class,y = SOC,fill = class))+ geom_boxplot()+ facet_grid(layer~.,scales ="free",space ="free")

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

具有自由尺度的boxplot,所有异常值都是(不幸)可见

Joã*_*iel 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)
Run Code Online (Sandbox Code Playgroud)

然后您可以使用这些限制作为y值的范围:

my.ggplot + coord_cartesian(ylim=c(lower.fence, upper.fence))
Run Code Online (Sandbox Code Playgroud)

用于获取上限和下限的过程可以更改,但限制的使用是相同的。

  • 我认为可以安全地假设OP想要ggplot定义的异常值:http://docs.ggplot2.org/current/geom_boxplot.html(详细信息部分)。此外,“ylim”方法仅适用于单个箱线图,因为某些箱线图的异常值将位于其他箱线图的范围内。 (2认同)