繁体   English   中英

ggplot2:geom_boxplot的奇怪行为

[英]ggplot2: strange behaviour of geom_boxplot

我想生成一个分组的箱线图,因此首先我修改了一段在互联网上找到的代码( http://www.r-bloggers.com/ggplot2-multiple-boxplots-with-metadata/ ),以生成一个测试值:

    Y <- data.frame(
      values = c(rnorm(mean=20, sd=4, n=3), rnorm(mean=10, sd=2, n=3), rnorm(mean=50, sd=10, n=3), rnorm(mean=60, sd=12, n=3)),
      factor1 = rep(c('oil1', 'oil2'), each = 3),
      factor2 = rep(c('product1', 'product2'), each = 6)
   )

    values  factor1 factor2
1   13.527314   oil1    product1
2   23.495898   oil1    product1
3   14.881210   oil1    product1
4   9.110103    oil2    product1
5   9.330372    oil2    product1
6   10.846560   oil2    product1
7   40.786020   oil1    product2
8   43.157393   oil1    product2
9   43.050182   oil1    product2
10  39.588651   oil2    product2
11  65.963630   oil2    product2
12  63.425253   oil2    product2

然后,代码:

ggplot(Y, aes(x = factor2, y = values, fill = factor1)) +
  geom_boxplot()

产生我想要的箱线图。

我的真实数据在另一个数据框中,通过读取.csv文件创建:

    values  factor1 factor2
1   0.2 oil1    product1
2   1.7 oil1    product1
3   3.2 oil1    product1
4   27.8    oil2    product1
5   29.8    oil2    product1
6   31.8    oil2    product1
7   0   oil1    product2
8   1   oil1    product2
9   2.5 oil1    product2
10  29.3    oil2    product2
11  31.3    oil2    product2
12  33.3    oil2    product2

(我无法纠正此表中的未对齐问题。)但是,当我尝试使用上述代码创建箱形图时,该图在y = value处包含水平线段而不是框。

我该如何解决这个问题?

实际上,我意识到geom_crossbar对于我想做的更好。

即,Y轴上的值; X轴上的factor2; 油1和油2的填充颜色不同; 一个彩色条,从最小值到最大值延伸,并以每种油和产品组合的平均值为中心(总共4条)

结果应类似于以下类似问题的答案中的图像: https : //stackoverflow.com/a/21561408/4518857

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM