Boxplot使用摘要而不是原始数据

时间:2013-08-15 17:05:12

标签: r ggplot2

我还是ggplot2的新手。我想绘制一个方框图,但我没有原始数据,我有摘要点。

Page_Type   ID  Count   min 5%  25% 50% 75% 95% Max Avg
3   24559   173 408 479.45  615.25  800.5   1547.25 4436.8  7068    1350.138462
3   24560   101 0   480 631 871 1762    5183    65177   2702.245902
6   24559   69  490 664 1181    1807    3221    4845.5  6397    2287.45098
6   24560   10  1086    1254.4  1928    1970    2007    5236.6  6044    2607
46  24559   49  217 252.45  438.75  595 1198    2647.15 4316    939.6666667
46  24560   31  266 337 467 640 1123    2531.6  5232    989.2758621
69  24559   424 644 761.8   957 1292    2212    4938.6  11246   1881.785467
69  24560   216 601 848.85  1060.25 1488.5  2465    5314.7  7981    2094.007692
82  24559   62  922 1018.2  1305    1534    1966    3313.8  22461   2325.810811
82  24560   137 630 926.6   1156    1468    2281    3764.6  11364   1922.252632

输出输出如下:

structure(list(Page_Type = c(3L, 3L, 6L, 6L, 46L, 46L, 69L, 69L, 
82L, 82L), ID = c(24559L, 24560L, 24559L, 24560L, 24559L, 24560L, 
24559L, 24560L, 24559L, 24560L), Count = c(173L, 101L, 69L, 10L, 
49L, 31L, 424L, 216L, 62L, 137L), min = c(408L, 0L, 490L, 1086L, 
217L, 266L, 644L, 601L, 922L, 630L), X5. = c(479.45, 480, 664, 
1254.4, 252.45, 337, 761.8, 848.85, 1018.2, 926.6), X25. = c(615.25, 
631, 1181, 1928, 438.75, 467, 957, 1060.25, 1305, 1156), X50. = c(800.5, 
871, 1807, 1970, 595, 640, 1292, 1488.5, 1534, 1468), X75. = c(1547.25, 
1762, 3221, 2007, 1198, 1123, 2212, 2465, 1966, 2281), X95. = c(4436.8, 
5183, 4845.5, 5236.6, 2647.15, 2531.6, 4938.6, 5314.7, 3313.8, 
3764.6), Max = c(7068L, 65177L, 6397L, 6044L, 4316L, 5232L, 11246L, 
7981L, 22461L, 11364L), Avg = c(1350.138462, 2702.245902, 2287.45098, 
2607, 939.6666667, 989.2758621, 1881.785467, 2094.007692, 2325.810811, 
1922.252632)), .Names = c("Page_Type", "ID", "Count", "min", 
"X5.", "X25.", "X50.", "X75.", "X95.", "Max", "Avg"), class = "data.frame", row.names = c(NA, 
-10L))

有5种页面类型,每种页面类型有2个ID。我想以箱形图的形式显示各种汇总指标(分钟,5%,25%......)。我可以通过滑动5%和95%的数据点来适应更传统的外观。如何根据此数据创建箱形图?

还有一个计数列,显示用于获取摘要的点数。如果这可以叠加在相同的情节上,那么它也可以是不同的情节。

1 个答案:

答案 0 :(得分:7)

您可以通过提供自己的最小值,最大值,中间值,上限和下限来制作包含geom_boxplot()的箱线图,只有在这种情况下,您才应在stat="identity"内添加geom_boxplot()

ggplot(df,aes(x=as.factor(Page_Type),
       ymin=min,lower=X5.,middle=X50.,upper=X75.,ymax=Max,fill=as.factor(ID)))+
  geom_boxplot(stat="identity")  

enter image description here