我使用ggplot2 geom_boxplot创建了一些箱图。我看到它在我的数据帧上计算了一组变量;宽度,ymin,lower,notchlower,middle,notchupper,upper和ymax。似乎应该有一种方法来提取这些计算值,以便我可以查看它们。我尝试过summary(boxplot)和str(boxplot)。这些给了我很多关于我的绘图是如何创建的信息,但它们没有列出计算变量。
有没有办法快速显示这些变量?
答案 0 :(得分:1)
您可以按照此处的建议使用ggplot_build
:https://stackoverflow.com/a/25381297/3638464
library(ggplot)
gg_bp <-
ggplot(mpg, aes(class, hwy)) +
geom_boxplot()
gg_bp
预览:
gg_bp_build <-
ggplot_build(gg_bp)
gg_bp_build$data
#> [[1]]
#> ymin lower middle upper ymax outliers notchupper
#> 1 23 24.0 25.0 26.0 26 26.41319
#> 2 23 26.0 27.0 29.0 33 35, 37, 35, 44 27.69140
#> 3 23 26.0 27.0 29.0 32 27.74026
#> 4 21 22.0 23.0 24.0 24 17 23.95278
#> 5 15 16.0 17.0 18.0 20 12, 12, 12, 22 17.55009
#> 6 20 24.5 26.0 30.5 36 44, 41 27.60241
#> 7 14 17.0 17.5 19.0 22 12, 12, 25, 24, 27, 25, 26, 23 17.90132
#> notchlower x PANEL group ymin_final ymax_final xmin xmax xid newx new_width
#> 1 23.58681 1 1 1 23 26 0.625 1.375 1 1 0.75
#> 2 26.30860 2 1 2 23 44 1.625 2.375 2 2 0.75
#> 3 26.25974 3 1 3 23 32 2.625 3.375 3 3 0.75
#> 4 22.04722 4 1 4 17 24 3.625 4.375 4 4 0.75
#> 5 16.44991 5 1 5 12 22 4.625 5.375 5 5 0.75
#> 6 24.39759 6 1 6 20 44 5.625 6.375 6 6 0.75
#> 7 17.09868 7 1 7 12 27 6.625 7.375 7 7 0.75
#> weight colour fill size alpha shape linetype
#> 1 1 grey20 white 0.5 NA 19 solid
#> 2 1 grey20 white 0.5 NA 19 solid
#> 3 1 grey20 white 0.5 NA 19 solid
#> 4 1 grey20 white 0.5 NA 19 solid
#> 5 1 grey20 white 0.5 NA 19 solid
#> 6 1 grey20 white 0.5 NA 19 solid
#> 7 1 grey20 white 0.5 NA 19 solid
答案 1 :(得分:-1)
编辑我之前的回答
这个问题并不恰当,因为(a)它没有提供可重复的例子,(b)它承认使用graphics::boxplot()
的结果来获得答案的可能性。
OP缺少的是ggplot2::geom_boxplot
返回ggplot2图形对象,而不是数据的摘要统计。
对于基本图形解决方案,请参阅help(boxplot)
- boxplot
函数返回您想要的内容,而不是尝试从geom_boxplot()
获取此内容。
> bp <- boxplot(mpg~cyl, data=mtcars)
>
> str(bp)
List of 6
$ stats: num [1:5, 1:3] 21.4 22.8 26 30.4 33.9 ...
$ n : num [1:3] 11 7 14
$ conf : num [1:2, 1:3] 22.4 29.6 18.3 21.1 14.3 ...
$ out : num [1:2] 10.4 10.4
$ group: num [1:2] 3 3
$ names: chr [1:3] "4" "6" "8"
stats
组件包含每个组的5个数字摘要。
> bp$stats
[,1] [,2] [,3]
[1,] 21.4 17.80 13.3
[2,] 22.8 18.65 14.3
[3,] 26.0 19.70 15.2
[4,] 30.4 21.00 16.4
[5,] 33.9 21.40 19.2
>
在ggplot2
中,摘要由stat_boxplot
计算。但是,我知道无法从结果中提取这些