为什么使用R和ggplot只有一半的盒子出现在盒子图中?

时间:2017-08-19 00:23:04

标签: r ggplot2 boxplot

我试图查看我使用盒子图积累的一些信息。但是,我无法理解为什么6组中的4组似乎只有一个盒子而不是两个盒子。

我正在使用的代码非常直接。

sleepData %>% group_by(edu)

有什么想法吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

你的箱形图看起来像这样的原因是中位数(第50百分位数,由通常穿过箱形图的主体的较粗黑线表示)和第75百分位数(或通常为25百分位数)框图的矩形体的上下键具有完全相同的值。我试着用下面的例子说明同样的事情。


suppressMessages(library(tidyverse))

df <- data.frame(one_box = c(1, 2, 5, 5, 5, 6),
                 two_boxes = c(1, 2, 3, 4, 5, 6))

df %>% 
  gather(key, value) %>% 
  group_by(key) %>% 
  summarise(prob = list(c("25%", "50%", "75%")), 
            quant = list(quantile(value, probs = c(0.25, 0.5, 0.5)))) %>%
  unnest()
#> # A tibble: 6 x 3
#>         key  prob quant
#>       <chr> <chr> <dbl>
#> 1   one_box   25%  2.75
#> 2   one_box   50%  5.00
#> 3   one_box   75%  5.00
#> 4 two_boxes   25%  2.25
#> 5 two_boxes   50%  3.50
#> 6 two_boxes   75%  3.50

df %>% 
  gather(key, value) %>% 
  ggplot(aes(key, value)) +
  geom_boxplot()