R 在ggplot中添加标签以进行摘要统计

R 在ggplot中添加标签以进行摘要统计,r,ggplot2,R,Ggplot2,大约18个月前,出现了一个,带有代码来显示如何生成一个中位数和四分位间距的图。代码如下: ggplot(data = diamonds) + geom_pointrange(mapping = aes(x = cut, y = depth), stat = "summary", fun.ymin = function(z) {quantile(z,0.25)}, fun.ymax = function(z) {q

大约18个月前,出现了一个,带有代码来显示如何生成一个中位数和四分位间距的图。代码如下:

ggplot(data = diamonds) +
geom_pointrange(mapping = aes(x = cut, y = depth),
              stat = "summary",
              fun.ymin = function(z) {quantile(z,0.25)},
              fun.ymax = function(z) {quantile(z,0.75)},
              fun.y = median)
制作此图:

我想知道的是如何为中位数和IQ范围添加标签,以及如何设置条的格式(颜色、alpha等)。我尝试将绘图作为对象调用,以查看其中是否存在可以用来调用格式函数的对象,但当我在r Studio IDE中查看它时,什么都不明显


这是否可行?我知道我可以做一个箱线图,但必须包括最小/最大值。我想用平均值/中值和IQ生成箱线图。

您可以像更改任何ggplot图层一样更改格式,请参阅垂直间隔:本例中的线、横杆和误差条。这方面的一个例子如下:

library(ggplot2)
ggplot(data = diamonds) +
  geom_pointrange(mapping = aes(x = cut, y = depth),
                  stat = "summary",
                  fun.ymin = function(z) {quantile(z,0.25)},
                  fun.ymax = function(z) {quantile(z,0.75)},
                  fun.y = median,
                  size = 4,             # <- adjusts size
                  colour = "red",       # <- adjusts colour
                  alpha = .3)           # <- adjusts transparency

你可以先对数据进行预处理——在打印前计算你正在使用的描述性统计数据,然后使用这些数字制作标签。还有:“如何设置条形图的格式(颜色、alpha等)”你必须更加具体。是的,我做了一个版本,在这个版本中,我对摘要统计数据进行了编码,然后从那里操纵了一个数据框进行打印。我希望能在一次ggplot调用中完成这一切,而不是多个步骤。所谓格式,我的意思是…改变条的颜色,改变厚度,透明度。当您要调用对象时,可以在ggplot中执行的典型操作。
library(dplyr)
library(ggplot2)

diamonds %>% 
  group_by(cut) %>% 
  summarise(median = median(depth),
            lq = quantile(depth, 0.25),
            uq = quantile(depth, 0.75)) %>% 

  ggplot(aes(cut, median)) +
  geom_linerange(aes(ymin=lq, ymax=uq), size = 4, colour = "blue", alpha = .4) +
  geom_point(size = 10, colour = "red", alpha = .8)