首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >geom_boxplot给错了晶须

geom_boxplot给错了晶须
EN

Stack Overflow用户
提问于 2019-12-27 06:50:28
回答 1查看 536关注 0票数 4

我正在用geom_boxplot在ggplot2中制作一个盒子图。然而,我发现胡须的长度是不正确的,我不知道为什么。这是我的数据:

代码语言:javascript
运行
复制
value = c(1.3739117,0.8709891,3.4510461,0.8470309,1.4838725,0.6942611,1.3095816,3.0444649,19.2785424,1.0866242,0.9376845,2.2343836, 20.7975509, 20.3102489, 18.0046679,1.4197519)
data = data.frame(value)
ggplot(data, aes(y = value)) +
   stat_boxplot(geom = "errorbar", width = 0.3) +
   geom_boxplot(width = 0.5)

我看到了这样的情节:

第3分位数与上晶须重叠。我手动进行了计算,结果如下:

代码语言:javascript
运行
复制
summary(data)
Min.   : 0.6943  
1st Qu.: 1.0494  
Median : 1.4518  
Mean   : 6.0715  
3rd Qu.: 7.0895  
Max.   :20.7976

根据geom_boxplot的解释:上晶须从铰链延伸到最大值不超过1.5 * IQR (其中IQR是四分位数范围,或第一和第三四分位数之间的距离)。较低的晶须从铰链延伸到铰链最多1.5 * IQR的最小值。

在我的例子中,IQR是: 7.0895-1.0494 = 6.0401。

较低的晶须应为: 0.6943 - 1.5*6.0401 = -8.36585。

上晶须应为: 7.0895 + 1.5*6.0401 = 16.14965。

我知道负的低晶须是没有意义的,所以这里用最小值代替。但是为什么上面的胡须没有显示出来呢?我很困惑,在网上找不到解决这个问题的例子。一些我误解了的格格图设置?我真的很感谢你的帮助和建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 07:09:34

引用的部分如下:

上晶须从铰链延伸到最大值不超过1.5 * IQR从铰链(其中IQR是四分位数的范围,或第一和第三个四分位数之间的距离)。

所谓“值”,是指原始数据点中的值。如果绘制数据,在7.09和16.15 (+1.5*IQR)的顶部铰链之间没有值。如果这些四分位数是从数据中产生的,其中一个值位于这个范围内,那么上面的晶须就会出现在那里。

代码语言:javascript
运行
复制
ggplot(data, aes(y = value)) +
  geom_jitter(aes(x = 0.5), width = 0.05) +
  stat_boxplot(geom = "errorbar", width = 0.3, 
               color = "red", size = 1.5) +
  geom_boxplot(width = 0.5, alpha = 0.5) +
  geom_hline(yintercept = c(7.09, 16.15), lty = "dashed")

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59497080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档