我想知道是否可以以类似于基本图形的方式访问ggplot
命令的结果。
对于基础图形中的boxplot
,我可以访问$stats
变量,该变量给出min,Q1,中位数等
bp <- plot(ToothGrowth$supp, ToothGrowth$len)
str(bp)
## List of 6
## $ stats: num [1:5, 1:2] 8.2 15.2 22.7 25.8 30.9 4.2 11.2 16.5 23.3 33.9
## $ n : num [1:2] 30 30
## $ conf : num [1:2, 1:2] 19.6 25.8 13 20
## $ out : num(0)
## $ group: num(0)
## $ names: chr [1:2] "OJ" "VC"
是否有类似的方法从ggplot2
等效命令获取统计数据?我已经看了,但找不到任何关于此的文档。输出如下:
library(ggplot2)
ggp <- ggplot(ToothGrowth, aes(x=supp, y=len)) + geom_boxplot()
str(ggp)
## List of 9
## $ data :'data.frame': 60 obs. of 3 variables:
## ..$ len : num [1:60] 4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
## ..$ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
## ..$ dose: num [1:60] 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
## $ layers :List of 1
## ..$ :Classes 'proto', 'environment' <environment: 0xc6cffd0>
## $ scales :Reference class 'Scales' [package "ggplot2"] with 1 fields
## ..$ scales: list()
## ..and 21 methods, of which 9 are possibly relevant:
## .. add, clone, find, get_scales, has_scale, initialize, input, n, non_position_scales
## $ mapping :List of 2
## ..$ x: symbol supp
## ..$ y: symbol len
## $ theme : list()
## $ coordinates:List of 1
## ..$ limits:List of 2
## .. ..$ x: NULL
## .. ..$ y: NULL
## ..- attr(*, "class")= chr [1:2] "cartesian" "coord"
## $ facet :List of 1
## ..$ shrink: logi TRUE
## ..- attr(*, "class")= chr [1:2] "null" "facet"
## $ plot_env :<environment: R_GlobalEnv>
## $ labels :List of 2
## ..$ x: chr "supp"
## ..$ y: chr "len"
## - attr(*, "class")= chr [1:2] "gg" "ggplot"
答案 0 :(得分:1)
ggplot2有一个方法来查看绘图是如何构建的。下面的命令可以帮助您找到所需内容。如果省略$ data,您将看到用于构建绘图的所有数据。
示例:
p <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_boxplot()
ggplot_build(p)$data