【发布时间】:2019-06-03 13:03:58
【问题描述】:
如何忽略 ggplot2 boxplot 中的异常值?我不只是希望它们消失(即 outlier.size=0),而是希望它们被忽略,以便 y 轴缩放以显示第 1/3 个百分位数。我的异常值导致“盒子”缩小到几乎是一条线。有什么技术可以解决这个问题吗?
编辑 这是一个例子:
y = c(.01, .02, .03, .04, .05, .06, .07, .08, .09, .5, -.6)
qplot(1, y, geom="boxplot")
【问题讨论】:
-
一些示例数据和一个可重现的示例将使您更容易为您提供帮助。
-
我的文件是 200 兆!只需在第一个和第三个分位数之间有很多数据点和一些异常值(你只需要 1 个)的任何数据集。如果离群值远离第 1/3 个,则框必然会缩小以容纳离群值
-
是的,这就是我的想法。制作这样一个数据集并使用 dput() 将其与您使用的 ggplot() 语句一起发布到此处。帮助我们为您提供帮助。
-
您不能将 y 轴限制更改为“放大”您感兴趣的 y 轴部分吗?
-
让我看看....哦,是的,对不起。只需对数据执行
fivenum()即可提取IIRC 用于箱线图上铰链和下铰链的内容,并在@Ritchie 显示的scale_y_continuous()调用中使用该输出。使用 R 和 ggplot 提供的工具,这可以很容易地自动化。如果您还需要包括胡须,请考虑使用boxplot.stats()来获取胡须的上限和下限,然后在scale_y_continuous()中使用。